Commit 9dc6cf1e authored by huangjie's avatar huangjie

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys...

Merge branch 'V20231129-中建一局二公司' of http://192.168.60.201/root/dsk-operate-sys into V20231129-中建一局二公司

# Conflicts:
#	dsk-operate-ui/src/views/projectCostLedger/index.vue
parents 50e813a9 290a27cd
......@@ -35,6 +35,7 @@
"clipboard": "2.0.8",
"core-js": "^3.32.2",
"dayjs": "^1.11.10",
"decimal.js": "^10.4.3",
"echarts": "^5.0.0",
"el-table-horizontal-scroll": "^1.2.5",
"element-resize-detector": "^1.2.4",
......
......@@ -132,3 +132,13 @@ export const removeFileFromOssApi = (ossId) => request({
method: "delete",
params: {}
});
/**
* 获取项目承接类型下拉框
* @returns
*/
export const getProjectUndertakingTypesApi = () => request({
url: "/advisory/body/getIsInvestProject",
method: "get",
params: {}
});
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><defs><clipPath id="master_svg0_913_022647"><rect x="0" y="0" width="14" height="14" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_913_022647)"><g><path d="M11.95833,10.0499559765625L11.08841,10.0499559765625L11.08841,10.9499559765625L11.95833,10.9499559765625Q12.50718,10.9499559765625,12.89526,10.5618859765625Q13.28333,10.1738059765625,13.28333,9.6249559765625L13.28333,2.0416259765625Q13.28333,1.4927929765624999,12.89526,1.1047117765625Q12.50718,0.7166259765625,11.95833,0.7166259765625L4.375,0.7166259765625Q3.826158,0.7166259765625,3.4380766,1.1047118765625Q3.05,1.4927929765624999,3.05,2.0416259765625L3.05,2.8953459765625L3.95,2.8953459765625L3.95,2.0416259765625Q3.95,1.8655819765625,4.074476,1.7411039765625Q4.198953,1.6166259765625,4.375,1.6166259765625L11.95833,1.6166259765625Q12.13438,1.6166259765625,12.25886,1.7411039765625Q12.38333,1.8655829765625,12.38333,2.0416259765625L12.38333,9.6249559765625Q12.38333,9.8010059765625,12.25886,9.9254859765625Q12.13438,10.0499559765625,11.95833,10.0499559765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M0.7166259765625,11.8332959765625L0.7166259765625,3.9166259765625Q0.7166259765625,3.3160159765625,1.1413210765625,2.8913210765625Q1.5660159765625,2.4666259765625,2.1666259765625,2.4666259765625L10.0832959765625,2.4666259765625Q10.6839059765625,2.4666259765625,11.1085959765625,2.8913210765625Q11.5333259765625,3.3160159765625,11.5333259765625,3.9166259765625L11.5333259765625,11.8332959765625Q11.5333259765625,12.4339059765625,11.1085959765625,12.8585959765625Q10.6839059765625,13.2833259765625,10.0832959765625,13.2833259765625L2.1666259765625,13.2833259765625Q1.5660159765625,13.2833259765625,1.1413210765625,12.8585959765625Q0.7166259765625,12.4339059765625,0.7166259765625,11.8332959765625ZM1.6166259765625,11.8332959765625Q1.6166259765625,12.0611059765625,1.7777169765625,12.2222059765625Q1.9388089765625,12.3832959765625,2.1666259765625,12.3832959765625L10.0832959765625,12.3832959765625Q10.3111059765625,12.3832959765625,10.4722059765625,12.2222059765625Q10.6332959765625,12.0611059765625,10.6332959765625,11.8332959765625L10.6332959765625,3.9166259765625Q10.6332959765625,3.6888089765625,10.4722059765625,3.5277169765625Q10.3111059765625,3.3666259765625,10.0832959765625,3.3666259765625L2.1666259765625,3.3666259765625Q1.9388089765625,3.3666259765625,1.7777169765625,3.5277169765625Q1.6166259765625,3.6888079765625,1.6166259765625,3.9166259765625L1.6166259765625,11.8332959765625Z" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.693302,4.6402800234375L4.693198,4.6401760234375Q4.629905,4.5768820234375,4.547208,4.5426280234375Q4.4645106,4.5083740234375,4.375,4.5083740234375Q4.2854894,4.5083740234375,4.202792,4.5426280234375Q4.120095,4.5768820234375,4.056802,4.6401760234375Q3.993508,4.7034690234375,3.959254,4.7861660234375Q3.925,4.8688634234375,3.925,4.9583740234375Q3.925,5.0478846234375,3.959254,5.1305820234375Q3.993508,5.2132790234375,4.056802,5.2765720234375L4.056906,5.2766760234375L5.8068,7.0265740234375Q5.83814,7.0579140234375,5.87499,7.0825340234375Q5.91184,7.1071540234375,5.95279,7.1241240234375Q5.99374,7.1410840234375,6.03721,7.1497240234375Q6.08068,7.1583740234375,6.125,7.1583740234375Q6.16932,7.1583740234375,6.21279,7.1497240234375Q6.25626,7.1410840234375,6.29721,7.1241240234375Q6.33815,7.1071540234375,6.37501,7.0825340234375Q6.41186,7.0579140234375,6.4432,7.0265740234375L8.19299,5.2767800234375L8.193200000000001,5.2765720234375Q8.25649,5.2132790234375,8.29075,5.1305820234375Q8.325,5.0478846234375,8.325,4.9583740234375Q8.325,4.8688634234375,8.29075,4.7861660234375Q8.25649,4.7034690234375,8.193200000000001,4.6401760234375L8.19294,4.6399190234375Q8.19114,4.6381180234375,8.189309999999999,4.6363380234375L8.18905,4.6360840234375Q8.12603,4.5746710234375,8.044509999999999,4.5415220234374996Q7.963,4.5083740234375,7.875,4.5083740234375Q7.85474,4.5083740234375,7.834569999999999,4.5101940234375Q7.67213,4.5248490234375,7.5568,4.6401760234375L7.55659,4.6403840234375L6.125,6.0719740234375L4.693302,4.6402800234375Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.0833740234375,7.7416259765625L8.1667140234375,7.7416259765625Q8.211034023437499,7.7416259765625,8.2545040234375,7.7329789765625Q8.2979740234375,7.7243329765625,8.3389240234375,7.7073719765625Q8.3798640234375,7.6904109765625,8.4167240234375,7.6657869765625Q8.4535740234375,7.6411639765625,8.4849140234375,7.6098239765625Q8.5162540234375,7.5784839765625,8.5408740234375,7.5416329765625Q8.5654940234375,7.5047809765625,8.582464023437499,7.4638339765625Q8.5994240234375,7.4228859765625,8.6080640234375,7.3794165765625Q8.616714023437499,7.3359470765625,8.616714023437499,7.2916259765625Q8.616714023437499,7.2473048765625,8.6080640234375,7.2038353765625Q8.5994240234375,7.1603659765625,8.5824540234375,7.1194179765625Q8.5654940234375,7.0784709765625,8.5408740234375,7.0416189765625Q8.5162540234375,7.0047679765625,8.4849140234375,6.9734279765625Q8.4535740234375,6.9420879765625,8.4167240234375,6.9174649765625Q8.3798640234375,6.8928409765625,8.3389240234375,6.8758799765625Q8.2979740234375,6.8589189765625,8.2545040234375,6.8502729765625Q8.211034023437499,6.8416259765625,8.1667140234375,6.8416259765625L4.0833740234375,6.8416259765625Q4.0390529234375,6.8416259765625,3.9955834234375,6.8502729765625Q3.9521140234375,6.8589189765625,3.9111660234375,6.8758799765625Q3.8702190234375,6.8928409765625,3.8333670234375,6.9174649765625Q3.7965160234375,6.9420879765625,3.7651760234375002,6.9734279765625Q3.7338360234375,7.0047679765625,3.7092130234375,7.0416189765625Q3.6845890234375,7.0784709765625,3.6676280234375,7.1194179765625Q3.6506670234375,7.1603659765625,3.6420210234375,7.2038353765625Q3.6333740234375,7.2473048765625,3.6333740234375,7.2916259765625Q3.6333740234375,7.3359470765625,3.6420210234375,7.3794165765625Q3.6506670234375,7.4228859765625,3.6676280234375,7.4638339765625Q3.6845890234375,7.5047809765625,3.7092130234375,7.5416329765625Q3.7338360234375,7.5784839765625,3.7651760234375002,7.6098239765625Q3.7965160234375,7.6411639765625,3.8333670234375,7.6657869765625Q3.8702190234375,7.6904109765625,3.9111660234375,7.7073719765625Q3.9521140234375,7.7243329765625,3.9955834234375,7.7329789765625Q4.0390529234375,7.7416259765625,4.0833740234375,7.7416259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.0833740234375,9.4916259765625L8.1667140234375,9.4916259765625Q8.211034023437499,9.4916259765625,8.2545040234375,9.4829789765625Q8.2979740234375,9.4743329765625,8.3389240234375,9.4573719765625Q8.3798640234375,9.4404109765625,8.4167240234375,9.4157869765625Q8.4535740234375,9.3911639765625,8.4849140234375,9.3598239765625Q8.5162540234375,9.3284839765625,8.5408740234375,9.2916329765625Q8.5654940234375,9.2547809765625,8.582464023437499,9.2138339765625Q8.5994240234375,9.1728859765625,8.6080640234375,9.1294165765625Q8.616714023437499,9.0859470765625,8.616714023437499,9.0416259765625Q8.616714023437499,8.9973048765625,8.6080640234375,8.9538353765625Q8.5994240234375,8.9103659765625,8.5824540234375,8.8694179765625Q8.5654940234375,8.8284709765625,8.5408740234375,8.7916189765625Q8.5162540234375,8.7547679765625,8.4849140234375,8.7234279765625Q8.4535740234375,8.6920879765625,8.4167240234375,8.6674649765625Q8.3798640234375,8.6428409765625,8.3389240234375,8.6258799765625Q8.2979740234375,8.6089189765625,8.2545040234375,8.6002729765625Q8.211034023437499,8.5916259765625,8.1667140234375,8.5916259765625L4.0833740234375,8.5916259765625Q4.0390529234375,8.5916259765625,3.9955834234375,8.6002729765625Q3.9521140234375,8.6089189765625,3.9111660234375,8.6258799765625Q3.8702190234375,8.6428409765625,3.8333670234375,8.6674649765625Q3.7965160234375,8.6920879765625,3.7651760234375002,8.7234279765625Q3.7338360234375,8.7547679765625,3.7092130234375,8.7916189765625Q3.6845890234375,8.8284709765625,3.6676280234375,8.8694179765625Q3.6506670234375,8.9103659765625,3.6420210234375,8.9538353765625Q3.6333740234375,8.9973048765625,3.6333740234375,9.0416259765625Q3.6333740234375,9.0859470765625,3.6420210234375,9.1294165765625Q3.6506670234375,9.1728859765625,3.6676280234375,9.2138339765625Q3.6845890234375,9.2547809765625,3.7092130234375,9.2916329765625Q3.7338360234375,9.3284839765625,3.7651760234375002,9.3598239765625Q3.7965160234375,9.3911639765625,3.8333670234375,9.4157869765625Q3.8702190234375,9.4404109765625,3.9111660234375,9.4573719765625Q3.9521140234375,9.4743329765625,3.9955834234375,9.4829789765625Q4.0390529234375,9.4916259765625,4.0833740234375,9.4916259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M5.675,7.2916259765625L5.675,10.4999559765625Q5.675,10.5442759765625,5.683647,10.5877459765625Q5.692293,10.6312159765625,5.709254,10.6721659765625Q5.726215,10.7131159765625,5.750839,10.7499659765625Q5.775462,10.786815976562501,5.806802,10.818155976562501Q5.838142,10.8494959765625,5.874993,10.8741159765625Q5.911845,10.8987459765625,5.952792,10.9157059765625Q5.99374,10.9326659765625,6.0372094,10.9413159765625Q6.0806789,10.9499559765625,6.125,10.9499559765625Q6.1693211,10.9499559765625,6.2127906,10.9413159765625Q6.25626,10.9326659765625,6.297208,10.9157059765625Q6.338155,10.8987459765625,6.375007,10.8741159765625Q6.411858,10.8494959765625,6.443198,10.818155976562501Q6.474538,10.786815976562501,6.499161,10.7499659765625Q6.523785,10.7131159765625,6.540746,10.6721659765625Q6.557707,10.6312159765625,6.566353,10.5877459765625Q6.575,10.5442759765625,6.575,10.4999559765625L6.575,7.2916259765625Q6.575,7.2473048765625,6.566353,7.2038353765625Q6.557707,7.1603659765625,6.540746,7.1194179765625Q6.523785,7.0784709765625,6.499161,7.0416189765625Q6.474538,7.0047679765625,6.443198,6.9734279765625Q6.411858,6.9420879765625,6.375007,6.9174649765625Q6.338155,6.8928409765625,6.297208,6.8758799765625Q6.25626,6.8589189765625,6.2127906,6.8502729765625Q6.1693211,6.8416259765625,6.125,6.8416259765625Q6.0806789,6.8416259765625,6.0372094,6.8502729765625Q5.99374,6.8589189765625,5.952792,6.8758799765625Q5.911845,6.8928409765625,5.874993,6.9174649765625Q5.838142,6.9420879765625,5.806802,6.9734279765625Q5.775462,7.0047679765625,5.750839,7.0416189765625Q5.726215,7.0784709765625,5.709254,7.1194179765625Q5.692293,7.1603659765625,5.683647,7.2038353765625Q5.675,7.2473048765625,5.675,7.2916259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="none" version="1.1" width="14" height="14" viewBox="0 0 14 14"><defs><clipPath id="master_svg0_913_022647"><rect x="0" y="0" width="14" height="14" rx="0"/></clipPath></defs><g clip-path="url(#master_svg0_913_022647)"><g><path d="M11.95833,10.0499559765625L11.08841,10.0499559765625L11.08841,10.9499559765625L11.95833,10.9499559765625Q12.50718,10.9499559765625,12.89526,10.5618859765625Q13.28333,10.1738059765625,13.28333,9.6249559765625L13.28333,2.0416259765625Q13.28333,1.4927929765624999,12.89526,1.1047117765625Q12.50718,0.7166259765625,11.95833,0.7166259765625L4.375,0.7166259765625Q3.826158,0.7166259765625,3.4380766,1.1047118765625Q3.05,1.4927929765624999,3.05,2.0416259765625L3.05,2.8953459765625L3.95,2.8953459765625L3.95,2.0416259765625Q3.95,1.8655819765625,4.074476,1.7411039765625Q4.198953,1.6166259765625,4.375,1.6166259765625L11.95833,1.6166259765625Q12.13438,1.6166259765625,12.25886,1.7411039765625Q12.38333,1.8655829765625,12.38333,2.0416259765625L12.38333,9.6249559765625Q12.38333,9.8010059765625,12.25886,9.9254859765625Q12.13438,10.0499559765625,11.95833,10.0499559765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M0.7166259765625,11.8332959765625L0.7166259765625,3.9166259765625Q0.7166259765625,3.3160159765625,1.1413210765625,2.8913210765625Q1.5660159765625,2.4666259765625,2.1666259765625,2.4666259765625L10.0832959765625,2.4666259765625Q10.6839059765625,2.4666259765625,11.1085959765625,2.8913210765625Q11.5333259765625,3.3160159765625,11.5333259765625,3.9166259765625L11.5333259765625,11.8332959765625Q11.5333259765625,12.4339059765625,11.1085959765625,12.8585959765625Q10.6839059765625,13.2833259765625,10.0832959765625,13.2833259765625L2.1666259765625,13.2833259765625Q1.5660159765625,13.2833259765625,1.1413210765625,12.8585959765625Q0.7166259765625,12.4339059765625,0.7166259765625,11.8332959765625ZM1.6166259765625,11.8332959765625Q1.6166259765625,12.0611059765625,1.7777169765625,12.2222059765625Q1.9388089765625,12.3832959765625,2.1666259765625,12.3832959765625L10.0832959765625,12.3832959765625Q10.3111059765625,12.3832959765625,10.4722059765625,12.2222059765625Q10.6332959765625,12.0611059765625,10.6332959765625,11.8332959765625L10.6332959765625,3.9166259765625Q10.6332959765625,3.6888089765625,10.4722059765625,3.5277169765625Q10.3111059765625,3.3666259765625,10.0832959765625,3.3666259765625L2.1666259765625,3.3666259765625Q1.9388089765625,3.3666259765625,1.7777169765625,3.5277169765625Q1.6166259765625,3.6888079765625,1.6166259765625,3.9166259765625L1.6166259765625,11.8332959765625Z" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.693302,4.6402800234375L4.693198,4.6401760234375Q4.629905,4.5768820234375,4.547208,4.5426280234375Q4.4645106,4.5083740234375,4.375,4.5083740234375Q4.2854894,4.5083740234375,4.202792,4.5426280234375Q4.120095,4.5768820234375,4.056802,4.6401760234375Q3.993508,4.7034690234375,3.959254,4.7861660234375Q3.925,4.8688634234375,3.925,4.9583740234375Q3.925,5.0478846234375,3.959254,5.1305820234375Q3.993508,5.2132790234375,4.056802,5.2765720234375L4.056906,5.2766760234375L5.8068,7.0265740234375Q5.83814,7.0579140234375,5.87499,7.0825340234375Q5.91184,7.1071540234375,5.95279,7.1241240234375Q5.99374,7.1410840234375,6.03721,7.1497240234375Q6.08068,7.1583740234375,6.125,7.1583740234375Q6.16932,7.1583740234375,6.21279,7.1497240234375Q6.25626,7.1410840234375,6.29721,7.1241240234375Q6.33815,7.1071540234375,6.37501,7.0825340234375Q6.41186,7.0579140234375,6.4432,7.0265740234375L8.19299,5.2767800234375L8.193200000000001,5.2765720234375Q8.25649,5.2132790234375,8.29075,5.1305820234375Q8.325,5.0478846234375,8.325,4.9583740234375Q8.325,4.8688634234375,8.29075,4.7861660234375Q8.25649,4.7034690234375,8.193200000000001,4.6401760234375L8.19294,4.6399190234375Q8.19114,4.6381180234375,8.189309999999999,4.6363380234375L8.18905,4.6360840234375Q8.12603,4.5746710234375,8.044509999999999,4.5415220234374996Q7.963,4.5083740234375,7.875,4.5083740234375Q7.85474,4.5083740234375,7.834569999999999,4.5101940234375Q7.67213,4.5248490234375,7.5568,4.6401760234375L7.55659,4.6403840234375L6.125,6.0719740234375L4.693302,4.6402800234375Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.0833740234375,7.7416259765625L8.1667140234375,7.7416259765625Q8.211034023437499,7.7416259765625,8.2545040234375,7.7329789765625Q8.2979740234375,7.7243329765625,8.3389240234375,7.7073719765625Q8.3798640234375,7.6904109765625,8.4167240234375,7.6657869765625Q8.4535740234375,7.6411639765625,8.4849140234375,7.6098239765625Q8.5162540234375,7.5784839765625,8.5408740234375,7.5416329765625Q8.5654940234375,7.5047809765625,8.582464023437499,7.4638339765625Q8.5994240234375,7.4228859765625,8.6080640234375,7.3794165765625Q8.616714023437499,7.3359470765625,8.616714023437499,7.2916259765625Q8.616714023437499,7.2473048765625,8.6080640234375,7.2038353765625Q8.5994240234375,7.1603659765625,8.5824540234375,7.1194179765625Q8.5654940234375,7.0784709765625,8.5408740234375,7.0416189765625Q8.5162540234375,7.0047679765625,8.4849140234375,6.9734279765625Q8.4535740234375,6.9420879765625,8.4167240234375,6.9174649765625Q8.3798640234375,6.8928409765625,8.3389240234375,6.8758799765625Q8.2979740234375,6.8589189765625,8.2545040234375,6.8502729765625Q8.211034023437499,6.8416259765625,8.1667140234375,6.8416259765625L4.0833740234375,6.8416259765625Q4.0390529234375,6.8416259765625,3.9955834234375,6.8502729765625Q3.9521140234375,6.8589189765625,3.9111660234375,6.8758799765625Q3.8702190234375,6.8928409765625,3.8333670234375,6.9174649765625Q3.7965160234375,6.9420879765625,3.7651760234375002,6.9734279765625Q3.7338360234375,7.0047679765625,3.7092130234375,7.0416189765625Q3.6845890234375,7.0784709765625,3.6676280234375,7.1194179765625Q3.6506670234375,7.1603659765625,3.6420210234375,7.2038353765625Q3.6333740234375,7.2473048765625,3.6333740234375,7.2916259765625Q3.6333740234375,7.3359470765625,3.6420210234375,7.3794165765625Q3.6506670234375,7.4228859765625,3.6676280234375,7.4638339765625Q3.6845890234375,7.5047809765625,3.7092130234375,7.5416329765625Q3.7338360234375,7.5784839765625,3.7651760234375002,7.6098239765625Q3.7965160234375,7.6411639765625,3.8333670234375,7.6657869765625Q3.8702190234375,7.6904109765625,3.9111660234375,7.7073719765625Q3.9521140234375,7.7243329765625,3.9955834234375,7.7329789765625Q4.0390529234375,7.7416259765625,4.0833740234375,7.7416259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M4.0833740234375,9.4916259765625L8.1667140234375,9.4916259765625Q8.211034023437499,9.4916259765625,8.2545040234375,9.4829789765625Q8.2979740234375,9.4743329765625,8.3389240234375,9.4573719765625Q8.3798640234375,9.4404109765625,8.4167240234375,9.4157869765625Q8.4535740234375,9.3911639765625,8.4849140234375,9.3598239765625Q8.5162540234375,9.3284839765625,8.5408740234375,9.2916329765625Q8.5654940234375,9.2547809765625,8.582464023437499,9.2138339765625Q8.5994240234375,9.1728859765625,8.6080640234375,9.1294165765625Q8.616714023437499,9.0859470765625,8.616714023437499,9.0416259765625Q8.616714023437499,8.9973048765625,8.6080640234375,8.9538353765625Q8.5994240234375,8.9103659765625,8.5824540234375,8.8694179765625Q8.5654940234375,8.8284709765625,8.5408740234375,8.7916189765625Q8.5162540234375,8.7547679765625,8.4849140234375,8.7234279765625Q8.4535740234375,8.6920879765625,8.4167240234375,8.6674649765625Q8.3798640234375,8.6428409765625,8.3389240234375,8.6258799765625Q8.2979740234375,8.6089189765625,8.2545040234375,8.6002729765625Q8.211034023437499,8.5916259765625,8.1667140234375,8.5916259765625L4.0833740234375,8.5916259765625Q4.0390529234375,8.5916259765625,3.9955834234375,8.6002729765625Q3.9521140234375,8.6089189765625,3.9111660234375,8.6258799765625Q3.8702190234375,8.6428409765625,3.8333670234375,8.6674649765625Q3.7965160234375,8.6920879765625,3.7651760234375002,8.7234279765625Q3.7338360234375,8.7547679765625,3.7092130234375,8.7916189765625Q3.6845890234375,8.8284709765625,3.6676280234375,8.8694179765625Q3.6506670234375,8.9103659765625,3.6420210234375,8.9538353765625Q3.6333740234375,8.9973048765625,3.6333740234375,9.0416259765625Q3.6333740234375,9.0859470765625,3.6420210234375,9.1294165765625Q3.6506670234375,9.1728859765625,3.6676280234375,9.2138339765625Q3.6845890234375,9.2547809765625,3.7092130234375,9.2916329765625Q3.7338360234375,9.3284839765625,3.7651760234375002,9.3598239765625Q3.7965160234375,9.3911639765625,3.8333670234375,9.4157869765625Q3.8702190234375,9.4404109765625,3.9111660234375,9.4573719765625Q3.9521140234375,9.4743329765625,3.9955834234375,9.4829789765625Q4.0390529234375,9.4916259765625,4.0833740234375,9.4916259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g><g><path d="M5.675,7.2916259765625L5.675,10.4999559765625Q5.675,10.5442759765625,5.683647,10.5877459765625Q5.692293,10.6312159765625,5.709254,10.6721659765625Q5.726215,10.7131159765625,5.750839,10.7499659765625Q5.775462,10.786815976562501,5.806802,10.818155976562501Q5.838142,10.8494959765625,5.874993,10.8741159765625Q5.911845,10.8987459765625,5.952792,10.9157059765625Q5.99374,10.9326659765625,6.0372094,10.9413159765625Q6.0806789,10.9499559765625,6.125,10.9499559765625Q6.1693211,10.9499559765625,6.2127906,10.9413159765625Q6.25626,10.9326659765625,6.297208,10.9157059765625Q6.338155,10.8987459765625,6.375007,10.8741159765625Q6.411858,10.8494959765625,6.443198,10.818155976562501Q6.474538,10.786815976562501,6.499161,10.7499659765625Q6.523785,10.7131159765625,6.540746,10.6721659765625Q6.557707,10.6312159765625,6.566353,10.5877459765625Q6.575,10.5442759765625,6.575,10.4999559765625L6.575,7.2916259765625Q6.575,7.2473048765625,6.566353,7.2038353765625Q6.557707,7.1603659765625,6.540746,7.1194179765625Q6.523785,7.0784709765625,6.499161,7.0416189765625Q6.474538,7.0047679765625,6.443198,6.9734279765625Q6.411858,6.9420879765625,6.375007,6.9174649765625Q6.338155,6.8928409765625,6.297208,6.8758799765625Q6.25626,6.8589189765625,6.2127906,6.8502729765625Q6.1693211,6.8416259765625,6.125,6.8416259765625Q6.0806789,6.8416259765625,6.0372094,6.8502729765625Q5.99374,6.8589189765625,5.952792,6.8758799765625Q5.911845,6.8928409765625,5.874993,6.9174649765625Q5.838142,6.9420879765625,5.806802,6.9734279765625Q5.775462,7.0047679765625,5.750839,7.0416189765625Q5.726215,7.0784709765625,5.709254,7.1194179765625Q5.692293,7.1603659765625,5.683647,7.2038353765625Q5.675,7.2473048765625,5.675,7.2916259765625Z" fill-rule="evenodd" fill="#FFFFFF" fill-opacity="1"/></g></g></svg>
\ No newline at end of file
......@@ -29,17 +29,18 @@
</template>
<!-- 图片类型 -->
<dsk-photo-input v-model="comCustomItem.componentAttribute.value" v-if="comCustomItem.comType == 'photo'"
:limit="comCustomItem.formAttribute.limit" :disabled="!isModify"></dsk-photo-input>
:limit="comCustomItem.formAttribute.limit" :disabled="!isModify" @change="fileChange"></dsk-photo-input>
<!-- 文件类型 -->
<dsk-file-input v-model="comCustomItem.componentAttribute.value" v-if="comCustomItem.comType == 'file'"
:limit="comCustomItem.formAttribute.limit" :disabled="!isModify"></dsk-file-input>
:limit="comCustomItem.formAttribute.limit" :disabled="!isModify" @change="fileChange"></dsk-file-input>
<!-- 详情模式下 -->
<template v-if="!isModify && detailTypes.includes(comCustomItem.comType)">
<div class="dsk-cutom-form-render-detail-item">
<div class="render-detail-item-inner">
<dsk-text-over-flow-tip>
<span>{{detailRender(comCustomItem)}}</span>
<div v-if="comCustomItem.comType == 'textarea'" v-html="detailRender(comCustomItem)"></div>
<span v-else>{{detailRender(comCustomItem)}}</span>
<template slot="overflow">{{detailRender(comCustomItem)}}</template>
</dsk-text-over-flow-tip>
</div>
......@@ -54,6 +55,7 @@ import DskEmailInput from "@/components/DskEmailInput";
import DskPhotoInput from "@/components/DskPhotoInput";
import DskFileInput from "@/components/DskFileInput";
import DskTextOverFlowTip from "@/components/DskTextOverFlowTip";
import { cloneDeep } from 'lodash-es';
export default {
name: "dskCustomItemRender",
components: {
......@@ -112,7 +114,11 @@ export default {
comCustomRowIndex: this.customRowIndex,
comCustomItemIndex: this.customItemIndex,
comIsModify: this.isModify,
detailTypes: ["text", "textarea", "select", "date", "phone", "email"]
detailTypes: ["text", "textarea", "select", "date", "phone", "email"],
validatorMap: {
"email": [/^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/, "邮箱"],
"phone": [/^1[3-9]\d{9}$/, "电话号码"]
}
};
},
//可访问data属性
......@@ -130,14 +136,31 @@ export default {
methods: {
// 验证规则
validatorRules(item) {
let type = Object.prototype.toString.call(item.componentAttribute.value).split(" ")[1].replace("]", "").toLowerCase();
if (!item.formAttribute) return { required: false, type };
if (item.formAttribute.required) {
if (item.formAttribute.requiredRules) return item.formAttribute.requiredRules;
return { required: true, type, message: `${item.formAttribute.label}不能为空` };
const _item = cloneDeep(item);
const itemLabel = _item.formAttribute.label;
let type = Object.prototype.toString.call(_item.componentAttribute.value).split(" ")[1].replace("]", "").toLowerCase();
if (!_item.formAttribute) return { required: false, type };
if (_item.formAttribute.required) {
if (item.formAttribute.requiredRules) {
if (_item.formAttribute.requiredRules.validator) {
let validatorRule = cloneDeep(this.validatorMap[_item.comType]);
_item.formAttribute.requiredRules.validator = (rule, value, callback) => {
const reg = validatorRule[0];
if (!value && !value?.toString()?.trim()) {
return callback(new Error(itemLabel ? `请输入${itemLabel}` : `请输入${validatorRule[1]}`));
}
if (!reg.test(value)) {
return callback(new Error(itemLabel ? `请输入正确的${itemLabel}` : `请输入正确的${validatorRule[1]}`));
}
return callback();
};
}
return _item.formAttribute.requiredRules;
};
return { required: true, type, message: `${itemLabel}不能为空` };
}
if (Object.keys(item.formAttribute.rules).length) {
return item.formAttribute.rules;
if (Object.keys(_item.formAttribute.rules).length) {
return _item.formAttribute.rules;
} else {
return { required: false, type };
};
......@@ -146,13 +169,26 @@ export default {
const classParams = {
[`custom-render-item-${comType}`]: true
};
if (!this.comIsModify) classParams["is-detail-custom-render-item"] = true;
if (this.comIsModify) classParams["is-edit-custom-render-item"] = true;
return classParams;
},
detailRender(item) {
const value = item.componentAttribute.value;
let value = item.componentAttribute.value;
const valueType = Object.prototype.toString.call(value);
if (valueType === "[object String]") return value || value == "0" ? value : "-";
if (valueType === "[object String]") {
if (value || value == "0") {
value = value.replace(new RegExp("\\n", "gmi"), "<\/br>");
// 富文本框保留空格
if (item.comType == "textarea") value = value.replace(new RegExp("\\s", "gmi"), "&nbsp;");
return value;
}
return "-";
};
if (valueType === "[object Array]") return value?.length ? value.join(",") : "-";
},
fileChange(isRemove, fileList) {
this.$emit("fileChange", isRemove, fileList, this.comCustomItem);
}
},
}
......@@ -194,11 +230,29 @@ export default {
}
}
::v-deep &.custom-render-item-textarea {
.dsk-custom-form-render-item {
&.custom-render-item-textarea {
&.is-detail-custom-render-item {
.dsk-cutom-form-render-detail-item {
display: block;
height: 73px;
line-height: 22px;
padding: 9px 12px;
overflow: auto;
box-sizing: border-box;
.render-detail-item-inner {
overflow: unset;
::v-deep .dsk-text-over-flow-tip {
.text-over-flow-tip-inner {
overflow: unset;
}
}
}
}
}
/* 编辑模式 */
&.is-edit-custom-render-item {
}
}
}
</style>
......@@ -139,7 +139,7 @@ export default {
id: result.data.ossId,
fileName: result.data.fileName
});
this.$emit("update:fileList", this.comFileList);
this.eventChange();
this.$message.success("上传成功");
}
} catch (error) {
......@@ -155,7 +155,7 @@ export default {
id: `${new Date().getTime()}${generateRandomLowerCaseLetter()}`,
fileName: file.name
});
this.$emit("update:fileList", this.comFileList);
this.eventChange();
this.$message.success("上传成功");
} catch (error) {
console.log(error);
......@@ -188,7 +188,7 @@ export default {
const removeResult = await removeFileFromOssApi(row.id);
if (removeResult.code == 200) {
this.comFileList.splice(index, 1);
this.$emit("update:fileList", this.comFileList);
this.eventChange(true);
this.$message({
type: 'success',
message: '删除成功!'
......@@ -204,12 +204,16 @@ export default {
const url = this.comFileList[index].url;
URL.revokeObjectURL(url);
this.comFileList.splice(index, 1);
this.$emit("update:fileList", this.comFileList);
this.eventChange(true);
this.$message({
type: 'success',
message: '删除成功!'
});
}
},
eventChange(isRemove = false) {
this.$emit("update:fileList", this.comFileList);
this.$emit("change", isRemove, this.comFileList);
}
},
}
......
......@@ -148,7 +148,7 @@ export default {
id: result.data.ossId,
fileName: result.data.fileName
});
this.$emit("update:fileList", this.comFileList);
this.eventChange();
this.$message.success("上传成功");
}
} catch (error) {
......@@ -164,7 +164,7 @@ export default {
id: `${new Date().getTime()}${generateRandomLowerCaseLetter()}`,
fileName: file.name
});
this.$emit("update:fileList", this.comFileList);
this.eventChange();
this.$message.success("上传成功");
} catch (error) {
console.log(error);
......@@ -201,7 +201,7 @@ export default {
const removeResult = await removeFileFromOssApi(row.id);
if (removeResult.code == 200) {
this.comFileList.splice(index, 1);
this.$emit("update:fileList", this.comFileList);
this.eventChange(true);
this.$message({
type: 'success',
message: '删除成功!'
......@@ -217,12 +217,16 @@ export default {
const url = this.comFileList[index].url;
URL.revokeObjectURL(url);
this.comFileList.splice(index, 1);
this.$emit("update:fileList", this.comFileList);
this.eventChange(true);
this.$message({
type: 'success',
message: '删除成功!'
});
}
},
eventChange(isRemove = false) {
this.$emit("update:fileList", this.comFileList);
this.$emit("change", isRemove, this.comFileList);
}
},
}
......
......@@ -7,7 +7,7 @@
:to="{ path: tag.fullPath, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item"
@click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''" @contextmenu.prevent.native="openMenu(tag,$event)">
<!--<svg :class="isActive(tag)?'tags-icon tags-icon-active':'tags-icon'" aria-hidden="true">-->
<!--<use :xlink:href="iconName(tag)" />-->
<!--<use :xlink:href="iconName(tag)" />-->
<!--</svg>-->
<div class="hoverclass">
<span :id="isActive(tag)?'tagTitle':''">{{ tag.title.replace(/<[^>]+>/g, '') }}</span>
......@@ -34,8 +34,8 @@
<el-collapse-transition>
<div class="tagslist" :class="{'noshow':!showall}">
<router-link v-for="(tag, index) in visitedViews" ref="tag" :key="tag.fullPath" :class="isActive(tag)?'active':''"
:to="{ path: tag.fullPath, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item"
@contextmenu.prevent.native="openMenu(tag,$event)">
:to="{ path: tag.fullPath, query: tag.query, fullPath: tag.fullPath }" tag="span" class="tags-view-item"
@contextmenu.prevent.native="openMenu(tag,$event)">
<div @click="changetags">
<i class="el-icon-check"></i>
<span :id="isActive(tag)?'tagTitles':''">{{ tag.title }}</span>
......@@ -50,11 +50,12 @@
</template>
<script>
import draggable from 'vuedraggable'
import ScrollPane from './ScrollPane'
import path from 'path'
import draggable from 'vuedraggable';
import ScrollPane from './ScrollPane';
import path from 'path';
import { cloneDeep } from 'lodash-es';
export default {
export default {
components: { ScrollPane, draggable },
data() {
return {
......@@ -71,7 +72,7 @@
sort: true, // 是否启用排序功能
draggable: '.tags-view-item', // 可拖拽元素的选择器
},
havemore:false,
havemore: false,
};
},
computed: {
......@@ -107,7 +108,7 @@
this.addTags();
this.moveToCurrentTag();
this.getviews();
this.getviewswidth()
this.getviewswidth();
},
visible(value) {
if (value) {
......@@ -121,7 +122,7 @@
this.$nextTick(() => {
this.initTags();
this.addTags();
this.getviewswidth()
this.getviewswidth();
});
},
methods: {
......@@ -143,11 +144,11 @@
});
sessionStorage.setItem("views", JSON.stringify(viewlist));
},
getviewswidth(){
let fatherwidth = this.$refs.getviews.offsetWidth-6
let viewlength = this.$store.state.tagsView.visitedViews.length
getviewswidth() {
let fatherwidth = this.$refs.getviews.offsetWidth - 6;
let viewlength = this.$store.state.tagsView.visitedViews.length;
//是否超出了能展示最多的个数
this.havemore = fatherwidth/80<viewlength
this.havemore = fatherwidth / 80 < viewlength;
},
changetags() {
this.showall = false;
......@@ -358,8 +359,10 @@
padding-top: 20px;
}
.tags-view-wrapper {
::v-deep .el-scrollbar__view{
>div{display: flex;}
::v-deep .el-scrollbar__view {
> div {
display: flex;
}
}
.tags-view-item {
display: inline-block;
......@@ -399,7 +402,7 @@
/*&:first-of-type {*/
/*margin-left: 64px;*/
/*}*/
.hoverclass{
.hoverclass {
padding: 0 20px 0 8px;
height: 28px;
line-height: 28px;
......@@ -410,13 +413,12 @@
white-space: nowrap;
border-radius: 4px;
&:hover {
background: #F5F5F5;
background: #f5f5f5;
color: #232323;
}
}
.el-icon-close:hover {
background: #EEEEEE;;
background: #eeeeee;
color: #999999;
}
&.active {
......@@ -470,15 +472,15 @@
.imgs {
border-radius: 4px;
&:hover{
background: #EEEEEE;
&:hover {
background: #eeeeee;
}
> img {
width: 16px;
}
}
.showall{
background: #EEEEEE;
.showall {
background: #eeeeee;
}
.tagslist {
transition: all 0.2s;
......@@ -570,5 +572,4 @@
}
}
}
</style>
import store from '@/store';
import router from '@/router';
import { paramsToQuery } from "@/utils/";
import { paramsToQuery, getUrlSearchQuery } from "@/utils/";
export default {
// 刷新当前tab页签
// 刷新当前tab页签 刷新参数无变化时使用
refreshPage(obj) {
const { path, query, matched } = router.currentRoute;
if (obj === undefined) {
......@@ -30,6 +30,17 @@ export default {
return router.push(obj);
}
},
// 关闭当前tab页签并刷新 参数变动时用
async refershCurrent(title, url, params) {
// 删除当前页签
await store.dispatch("tagsView/delView", router.currentRoute);
const { tagRoutes, defaultRoutes } = this.createDifferentTabData(title, url, params);
await store.dispatch('tagsView/addView', tagRoutes);
router.push({
...defaultRoutes,
path: `/redirect${defaultRoutes.fullPath}`,
});
},
// 关闭指定tab页签
closePage(obj) {
if (obj === undefined) {
......@@ -60,13 +71,30 @@ export default {
return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute);
},
// 添加tab页签
async openPage(title, url, params) {
const obj = { path: url, fullPath: url, query: params, meta: { title: title } };
if (params && Object.keys(params).length) {
async openPage(title, url, params = {}) {
const { tagRoutes, defaultRoutes } = this.createDifferentTabData(title, url, params);
await store.dispatch('tagsView/addView', tagRoutes);
return router.push(defaultRoutes);
},
createDifferentTabData(title, url, params = {}) {
const origin = location.origin;
// 拼接完整路径
const integrityUrl = `${origin}${url}`;
const paramsResult = getUrlSearchQuery(integrityUrl);
// 链接上带有参数 合并到query对象
if (paramsResult && Object.keys(paramsResult).length) {
params ? null : params = {};
params = { ...JSON.parse(JSON.stringify(params)), ...paramsResult };
url = url.slice(0, url.indexOf("?"));
}
const obj = { path: url, meta: { title }, fullPath: url, query: params, };
const _obj = JSON.parse(JSON.stringify(obj));
if (params && Object?.keys(params)?.length) {
obj.fullPath = `${obj.path}${paramsToQuery(params) ? "?" + paramsToQuery(params) : ""}`;
// 用于匹配 router跳转的fullPath 默认会 encodeURIComponent
_obj.fullPath = `${_obj.path}${paramsToQuery(params, false) ? "?" + paramsToQuery(params, false) : ""}`;
}
await store.dispatch('tagsView/addView', obj);
return router.push({ path: url, query: params });
return { tagRoutes: _obj, defaultRoutes: obj };
},
// 修改tab页签
updatePage(obj) {
......
......@@ -18,7 +18,7 @@ const mutations = {
if (state.visitedViews.some(v => v.fullPath === view.fullPath)) return;
state.visitedViews.push(
Object.assign({}, view, {
title: view.meta.title || 'no-name'
title: view.meta.title || 'no-name',
})
);
},
......
......@@ -224,7 +224,6 @@ export const defaultComOptions = [
rules: {
trigger: ["blur"],
validator: (rule, value, callback) => {
// console.log("value", value);
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (value && !reg.test(value)) {
return callback(new Error(`请输入正确的电子邮箱`));
......@@ -237,10 +236,10 @@ export const defaultComOptions = [
validator: (rule, value, callback) => {
const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
if (!value && !value?.toString()?.trim()) {
return callback(new Error(`请输入电子邮箱`));
return callback(new Error("请输入邮箱"));
}
if (!reg.test(value)) {
return callback(new Error(`请输入正确的电子邮箱`));
return callback(new Error("请输入正确的邮箱"));
}
return callback();
}
......
......@@ -423,14 +423,14 @@ export const getUrlSearchQuery = (originUrl = location.href, reg = new RegExp("\
* 对象转换为查询字符串
* @param {{[key:string] : any}} query
*/
export const paramsToQuery = (query) => {
export const paramsToQuery = (query, decode = true) => {
try {
if (Object.prototype.toString.call(query) !== "[object Object]") return "";
const params = new URLSearchParams(query);
let searchStrArray = [];
params.forEach((value, key) => {
if (params.has(key)) {
searchStrArray.push(`${key}=${decodeURIComponent(value)}`);
searchStrArray.push(`${key}=${decode ? decodeURIComponent(value) : encodeURIComponent(decodeURIComponent(value))}`);
}
});
return searchStrArray.join("&");
......
......@@ -216,7 +216,7 @@ export default {
});
} catch (error) {
if (error?.errors?.length) {
console.dir(error);
// console.dir(error);
const { errors, fields } = error;
this.errorHandle(errors);
}
......@@ -429,10 +429,10 @@ export default {
}
},
// 编辑模块名称结束
editFinish(module) {
editFinish(module, moduleName) {
const index = this.subfieldModuleForm.subfieldModuleList.findIndex(item => item.uid == module.uid);
if (index > -1) {
this.subfieldModuleForm.subfieldModuleList.splice(index, 1, { ...module, ...this.subfieldModuleForm.subfieldModuleList[index].children });
this.subfieldModuleForm.subfieldModuleList.splice(index, 1, { ...module, children: [...this.subfieldModuleForm.subfieldModuleList[index].children] });
}
},
// 命中的模块
......
......@@ -91,7 +91,7 @@ export default {
this.comModuleInfo.edit = false;
this.comModuleInfo.defaultSubfieldModuleName = this.comModuleInfo.subfieldModuleName;
this.oldComModuleName = this.comModuleInfo.subfieldModuleName;
this.$emit("editFinish", this.comModuleInfo);
this.$emit("editFinish", this.comModuleInfo, this.subfieldModuleComName);
}
},
}
......
......@@ -151,7 +151,7 @@
<!-- 组件容器 -->
<div class="custom-item-com-box">
<dsk-custom-item-render :custom-item="column" :custom-module-index="index" :custom-row-index="rowIndex"
:custom-item-index="columnIndex" :isModify="comIsModify"></dsk-custom-item-render>
:custom-item-index="columnIndex" :isModify="comIsModify" @fileChange="fileChange"></dsk-custom-item-render>
</div>
</div>
</div>
......@@ -168,6 +168,7 @@ import { elementMessageSingleton, jsonStrToObject, groupArray } from "@/utils";
import { cloneDeep } from "lodash-es";
import DskTextOverFlowTip from "@/components/DskTextOverFlowTip";
import DskCustomItemRender from "@/components/DskCustomItemRender";
import serialize from "serialize-javascript";
export default {
name: "consultingAgency",
components: {
......@@ -249,6 +250,20 @@ export default {
},
//方法集
methods: {
fileChange(isRemove, fileList, comCustomItem) {
const uid = comCustomItem.uid;
const pid = comCustomItem.pid;
const moduleIndex = this.form.subfieldModuleList.findIndex(item => item.uid == pid);
if (moduleIndex > -1) {
const _temp = cloneDeep(this.form.subfieldModuleList[moduleIndex]);
const index = _temp.children.findIndex(child => child.uid == uid);
if (index > -1) {
_temp.children[index].componentAttribute.value = cloneDeep(fileList);
this.form.subfieldModuleList.splice(moduleIndex, 1, _temp);
this.oldSubfieldModuleList = cloneDeep(this.form.subfieldModuleList);
}
}
},
itemStyles(item, index, selfIndex) {
const styles = {
width: `${item.formAttribute.width}%`
......@@ -297,7 +312,7 @@ export default {
// 缺失模板不渲染
if (!formTemplate || !formTemplate.jsonData) return;
const template = jsonStrToObject(formTemplate.jsonData);
const templateFormData = formData && formData.jsonData ? JSON.parse(formData.jsonData) : null;
const templateFormData = formData && formData.jsonData ? jsonStrToObject(formData.jsonData) : null;
if (template) {
// 模板
let subfieldModuleListTemplate = template.subfieldModuleList;
......@@ -394,10 +409,15 @@ export default {
}
},
async cancelModify() {
try {
await this.$nextTick();
this.$refs["customDesignFormTemplate"].clearValidate();
this.comProjectDetailInfo = cloneDeep(this.oldComProjectDetailInfo);
this.$set(this.form, "subfieldModuleList", cloneDeep(this.oldSubfieldModuleList));
} catch (error) {
cancelModify() {
this.comProjectDetailInfo = JSON.parse(JSON.stringify(this.oldComProjectDetailInfo));
this.$set(this.form, "subfieldModuleList", cloneDeep(this.oldSubfieldModuleList));
}
},
async searchConsulting(keywords) {
try {
......@@ -508,7 +528,7 @@ export default {
const customFormParamsData = {
projectKey: this.projectKey,
templateId: this.formTemplate.templateId,
jsonData: JSON.stringify(customFormData)
jsonData: serialize(customFormData)
};
// 处理自定义表单数据
this.$emit("editComProjectDetailSuccess", paramsData, customFormParamsData);
......@@ -608,10 +628,9 @@ export default {
&.is-error {
.el-form-item__content {
.el-input {
.el-input__inner {
border-color: #ff4949;
}
.el-textarea__inner,
.el-input__inner {
border-color: #ff4949 !important;
}
}
}
......@@ -769,6 +788,7 @@ export default {
display: flex;
border: 1px solid #e6eaf1;
box-sizing: border-box;
align-self: flex-end;
.custom-item-key {
width: 180px;
min-height: 40px;
......
......@@ -127,13 +127,10 @@ export default {
if (result.code == 200 && customFormResult.code == 200) {
this.$message.success("更新咨询机构结算信息成功");
this.isModify = false;
this.$tab.closeOpenPage({
path: `/redirect/${"consultingOrgManagement/projectDetail"}`,
query: {
projectKey: this.projectKey,
advisoryBodyCid: this.advisoryBodyCid ? this.advisoryBodyCid : data.advisoryBodyCid,
currentKey: "consultingAgency"
}
this.$tab.refershCurrent(this.projectDetailInfo.projectName, `/consultingOrgManagement/projectDetail`, {
projectKey: this.projectKey,
advisoryBodyCid: this.advisoryBodyCid ? this.advisoryBodyCid : data.advisoryBodyCid,
currentKey: "consultingAgency"
});
}
} catch (error) {
......
......@@ -68,7 +68,7 @@
import TableListCom from "@/components/TableListCom";
import Skeleton from "@/components/Skeleton";
import { getConsultingOrgEenterpriseListWithSearchApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils";
import { queryConditionFiltering, replaceDomTags } from "@/utils";
import { v4 } from 'uuid';
import { encodeStr } from "@/assets/js/common";
export default {
......@@ -139,7 +139,7 @@ export default {
},
toCooperateDetail(row) {
if (!row.advisoryBodyCid) return this.$message.warning("缺少咨询机构id");
this.$tab.openPage(`${row.advisoryBodyName}合作明细`, `/consultingOrgManagement/detailsOfCooperation/${row.advisoryBodyCid}`);
this.$tab.openPage(`${row.advisoryBodyName}合作明细`, `/enterprise/${encodeStr(row.advisoryBodyCid)}?path=cooperationRecord&companyName=${replaceDomTags(row.advisoryBodyName)}`);
},
// 跳转到企业详情
viewEnterprise(row) {
......
......@@ -127,7 +127,7 @@ import DskAmountRange from "@/components/DskAmountRange";
import DskTableHeaderSetting from "@/components/DskTableHeaderSetting";
import TableListCom from "@/components/TableListCom";
import Skeleton from "@/components/Skeleton";
import { getConsultingOrgProjectListWithSearchApi } from "@/api/consultingOrgManagement";
import { getConsultingOrgProjectListWithSearchApi, getProjectUndertakingTypesApi } from "@/api/consultingOrgManagement";
import { queryConditionFiltering } from "@/utils";
import { v4 } from 'uuid';
import { encodeStr } from "@/assets/js/common.js";
......@@ -199,16 +199,7 @@ export default {
rules: {
},
projectTypeOptions: [
{
value: "1",
label: "测试1"
},
{
value: "2",
label: "测试2"
}
],
projectTypeOptions: [],
engineeringCategoryOptions: [
{
value: "1",
......@@ -246,11 +237,22 @@ export default {
methods: {
async init() {
try {
await this.getProjectUndertakingTypes();
await this.getList(this.queryParams);
} catch (error) {
}
},
async getProjectUndertakingTypes() {
try {
const result = await getProjectUndertakingTypesApi();
if (result.code == 200 && result?.data?.length) {
this.projectTypeOptions = result.data.map(item => ({ value: item, label: item }));
}
} catch (error) {
}
},
// 创建最终查询条件
mergeCondition() {
const _queryParams = JSON.parse(JSON.stringify(this.queryParams));
......@@ -354,7 +356,7 @@ export default {
},
// 业主单位跳转企业详情
viewOwnerUnit(row) {
this.$tab.openPage(row.ownerName ? row.ownerName : "业主单位详情", `/enterprise/${encodeStr(row.ownerUnitCid)}?companyName=${row.ownerName}`);
}
},
}
......
......@@ -51,6 +51,8 @@ import mixin from '@/views/detail/party-a/mixins/mixin';
import { getCooperativeOwnerUnitsListApi, getCooperativeOwnerUnitsDetailApi, getCooperativeOwnerUnitsOptionsApi, getCooperativeOwnerUnitsCountAmountApi } from "@/api/consultingTransaction";
import DialogHeadFormNew from "../component/HeadFormNew";
import DialogTables from "../component/Tables";
import { replaceDomTags } from "@/utils";
import { encodeStr } from "@/assets/js/common";
export default {
name: "cooperativeConstructionUnit",
mixins: [mixin],
......@@ -240,7 +242,9 @@ export default {
}
},
viewEnterprise(row) {
this.$tab.openPage(`${replaceDomTags(row.companyName)}详情`, `/enterprise/${encodeStr(row.companyId)}`, {
companyName: replaceDomTags(row.companyName)
});
},
async sortChange({ column, order, prop }) {
let sort = null;
......
......@@ -93,6 +93,8 @@ import { getCooperativeOwnerUnitsListApi, getCooperativeOwnerUnitsDetailApi, get
import DialogHeadFormNew from "../component/HeadFormNew";
import DialogTables from "../component/Tables";
import DskTabToggle from "@/components/DskTabToggle";
import { replaceDomTags } from "@/utils";
import { encodeStr } from "@/assets/js/common";
export default {
name: "cooperativeGroup",
mixins: [mixin],
......@@ -217,7 +219,10 @@ export default {
const optionsKey = [["businessType", "businessTypes"], ["counterpartCompanyRole", "counterpartCompanyRoles"], ["projectType", "projectTypes"]];
optionsKey.forEach(([key, value]) => {
this.$set(this.formData.find(formItem => value == formItem.fieldName), "options", this.selectOptions[key]);
const _temp = this.formData.find(formItem => value == formItem.fieldName);
if (_temp) {
this.$set(_temp, "options", this.selectOptions[key]);
}
});
}
} catch (error) {
......@@ -305,7 +310,7 @@ export default {
}
},
viewEnterprise(row) {
// this.$router.push(`/enterprise/${encodeStr(row.companyId)}?companyName=${replaceDomTags(row.companyName)}`);
},
async sortChange({ column, order, prop }) {
let sort = null;
......
......@@ -51,6 +51,8 @@ import mixin from '@/views/detail/party-a/mixins/mixin';
import { getCooperativeOwnerUnitsListApi, getCooperativeOwnerUnitsDetailApi, getCooperativeOwnerUnitsOptionsApi, getCooperativeOwnerUnitsCountAmountApi } from "@/api/consultingTransaction";
import DialogHeadFormNew from "../component/HeadFormNew";
import DialogTables from "../component/Tables";
import { replaceDomTags } from "@/utils";
import { encodeStr } from "@/assets/js/common";
export default {
name: "cooperativeOwnerUnits",
mixins: [mixin],
......@@ -240,7 +242,10 @@ export default {
}
},
viewEnterprise(row) {
// this.$router.push(`/enterprise/${encodeStr(row.companyId)}?companyName=${replaceDomTags(row.companyName)}`);
this.$tab.openPage(`${replaceDomTags(row.companyName)}详情`, `/enterprise/${encodeStr(row.companyId)}`, {
companyName: replaceDomTags(row.companyName)
});
},
async sortChange({ column, order, prop }) {
let sort = null;
......
......@@ -64,7 +64,7 @@
<!-- 2、准入情况 -->
<access-condition v-if="currentPath.pathName=='accessCondition'" :company-id="companyId" :companyInfo="companyInfo"></access-condition>
<!-- 3、供应商合作记录 -->
<cooperation-record v-if="currentPath.pathName=='cooperationRecord'" :company-id="companyId"></cooperation-record>
<cooperation-record v-if="currentPath.pathName=='cooperationRecord'" :company-id="companyId" :company-name="companyName"></cooperation-record>
</template>
<template v-if="customerId && isCustomer">
<!-- 商务信息 -->
......@@ -277,8 +277,8 @@ export default {
if (this.$route.params.id) { // 获取companyId
let companyId = this.$route.params.id;
// 有企业名的情况下带上企业名称
let companyName = this.$route.query.companyName;
await this.getCompanyId(companyId, companyName);
this.companyName = this.$route.query.companyName ? this.$route.query.companyName : "";
await this.getCompanyId(companyId);
}
} catch (error) {
console.log(error);
......@@ -288,8 +288,7 @@ export default {
this.currentPath = e;
},
// 解密
async getCompanyId(companyId, companyName = "") {
if (companyName) this.companyName = companyName;
async getCompanyId(companyId) {
let { data } = await idRemark({ mark: companyId });
if (data) {
this.companyId = data;
......@@ -298,7 +297,6 @@ export default {
await this.getStatistic(this.companyName);
await this.handleQuery();
await this.association(this.$route.query.customerId);
console.log(this.$refs.sidebar,"sidebar");
this.$refs.sidebar.getFinancial(data);
}
},
......
......@@ -57,15 +57,15 @@ export default {
},
forData: [
{ label: '项目列表', prop: 'projectName', width: '222', slot: true, showOverflowTooltip: true },
{ label: '项目编码', prop: 'projectCode', width: '123' },
{ label: '省市', prop: 'provinceName', minWidth: '110', slot: true },
{ label: '项目承接类型', prop: 'isinvestproject', width: '102', showOverflowTooltip: true },
{ label: '工程基础大类', prop: 'projectType1', width: '98', showOverflowTooltip: true },
{ label: '工程类别明细', prop: 'projectType', width: '98', showOverflowTooltip: true },
{ label: '项目负责人姓名', prop: 'projectLeader', width: '110' },
{ label: '项目负责人专业', prop: 'projectLeaderMajor', width: "110" },
{ label: '项目负责人联系电话', prop: 'projectLeaderPhone', width: "135" },
{ label: '合同金额(元)', prop: 'contractOrigValue', width: "110", align: "right" },
{ label: '项目编码', prop: 'projectCode', width: '140' },
{ label: '省市', prop: 'provinceName', minWidth: '140', slot: true },
{ label: '项目承接类型', prop: 'isinvestproject', width: '120', showOverflowTooltip: true },
{ label: '工程基础大类', prop: 'projectType1', width: '120', showOverflowTooltip: true },
{ label: '工程类别明细', prop: 'projectType', width: '120', showOverflowTooltip: true },
{ label: '项目负责人姓名', prop: 'projectLeader', width: '120' },
{ label: '项目负责人专业', prop: 'projectLeaderMajor', width: "120" },
{ label: '项目负责人联系电话', prop: 'projectLeaderPhone', width: "160" },
{ label: '合同金额(元)', prop: 'contractOrigValue', width: "160", align: "right" },
{ label: '业主单位', prop: 'ownerName', slot: true, width: "185", showOverflowTooltip: true },
{ label: '项目承接单位', prop: 'contractOrgName', width: "196", slot: true },
{ label: '咨询机构名称', prop: 'advisoryBodyName', width: "172", slot: true },
......
......@@ -47,11 +47,12 @@ export default {
DialogHeadFormNew,
DialogTables
},
props: ['companyId'],
props: ['companyId', "companyName"],
data() {
return {
queryParams: {
customerId: this.companyId,
companyName: this.companyName,
pageNum: 1,
pageSize: 10,
},
......@@ -174,7 +175,7 @@ export default {
},
dialogCurrentChange() {
}
},
}
......
<template>
<div class="project-cost-ledger-container">
<div class="project-cost-ledger-inner">
</div>
</div>
</template>
<script>
export default {
name: 'projectCostLedger'
}
</script>
export default {
name: "projectCostLedger",
data() {
return {
};
},
//可访问data属性
created() {
<style scoped>
},
//计算集
computed: {
},
//方法集
methods: {
},
}
</script>
<style lang="scss" scoped>
.project-cost-ledger-container {
width: 100%;
height: 100%;
box-sizing: border-box;
padding: 16px 24px;
.project-cost-ledger-inner {
width: 100%;
height: 100%;
}
}
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment