Commit 50cfb38e by 谢明辉

aaaaaaaaaaaa

1 parent c200a220
<<<<<<< HEAD
# finance_serv # finance_serv
=======
# contractManagementSystem
>>>>>>> df45bcf516c15bdfd4d93ed5c68fed43c156b7a6
> A Vue.js project > A Vue.js project
...@@ -19,3 +23,9 @@ npm run build --report ...@@ -19,3 +23,9 @@ npm run build --report
``` ```
For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader). For a detailed explanation on how things work, check out the [guide](http://vuejs-templates.github.io/webpack/) and [docs for vue-loader](http://vuejs.github.io/vue-loader).
<<<<<<< HEAD
=======
## others
This is my first work after graduating from college.This is my first contract with Vue,JS,CSS and Element-ui.So,as you see,the code is too poor and too fat.I need time to make my code better.
>>>>>>> df45bcf516c15bdfd4d93ed5c68fed43c156b7a6
@font-face {font-family: "icon";
src: url('iconfont.eot?t=1534310328014'); /* IE9*/
src: url('iconfont.eot?t=1534310328014#iefix') format('embedded-opentype'), /* IE6-IE8 */
url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAooAAsAAAAADpwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFY9mUnVY21hcAAAAYAAAACRAAAB+uhwcyRnbHlmAAACFAAABdQAAAfUFYWOCWhlYWQAAAfoAAAAMQAAADYSUvVzaGhlYQAACBwAAAAeAAAAJAffA4lobXR4AAAIPAAAABIAAAAkJAD//2xvY2EAAAhQAAAAFAAAABQHngnQbWF4cAAACGQAAAAdAAAAIAEdAKpuYW1lAAAIhAAAAUIAAAI9Divfm3Bvc3QAAAnIAAAAXgAAAH0MiH4aeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2BkYWCcwMDKwMHUyXSGgYGhH0IzvmYwYuRgYGBiYGVmwAoC0lxTGByeKz9/zNzwv4EhhrmBoQEozAiSAwDxBwzreJztkcENgzAQBMcBHBRFUZQWwpOCUkaKyCsSlEID9MKHx5ZB7nw8KCJrjaVb2fu4BRqgMnqjhvQl4fqYm4pfcSl+zcvmGy0nsjqNmjRr0bptoKeG43xQsj93HvuBsyUky6gssSHbg8xf13K/96n1jQa2L9QFxR8Cb0djYNtEU+Btag68US2BN601IP8ACDMx0wAAAHicVVVNbBvHFZ43szOzu5R2yd3lriXxR/zbtSORkihyqcgtKRKKa4hua9hO3IZObCstIAVBkUMOgmugMVAYQREENtBTASdNDy1QGL01CAq3MFChQG9FD43QS91TgQJFA7e9meu+IW3H4Q7e37yZ9+abN4+EEvL4z+xXrEEaZEAIWCCFfxKanVh9zaAAge9JZS1HofqWoCyUtQudBkC7FHfaYVRqt0IbhFcEP6bwzm9PUo2f0rk5s7bVvz3o7S7kcgu7vcHt/tbajMn1U1yjJ++98+v/CPYwqcGmBJDJHwztA8Y+0AzWgDdHmi5mU2tP1t16ssXazIzQtdGbwP/9yaf/G//jDMgNCWe4xt6mOn2baYTgeHyf/ZKdJq+Q98iPyR08UxS3ok4XViBcgQbYUxZVQlmxUBMyCgUyHH4RzxDgafEcRShAb8pQa/agi2rcCfwYGY4w8j0bAlwthU3FCsVdZRh1orDVw4idoBP3aFykuEPHD2QNIXyKWiDKYasLvsfuDDgfSM5goQ3SNc7V4zS1TPbNs9S0aDqunzNcSVsLoHF9oGkDnWuw0KJfeNLjZyP2ZVfGb2ma2MnMvVasLofOC0tObalafH0uMxRoH2bmXi9Wl8LM0gtOuFwtvjbnDJOHwzcofWM4oVrpUr9/qQ/WRn4zvyEdk53pUswwX8u+jIEsHObL2VqecUm7ZxgGfTG3mduQrknRUVeOnnIEKUG5espVR1dquj8PGsHxrahSms+n7aucX7XThflyJeof96cT5flC2trVNDUxV6pEW995mhbS8aLKa3CJEFWzD9kBs8gJsklITV3mBNhoCrK0qPSD9bjTZc0CDSZiCOUGbXUpGjyLslF+bxtWY2Dv7++/zyBehe29DUz6K5h1/cJb1966UH+iJT+qdNfm59e6p6bsh9t7+fJeD1fh2t5eGXJ7N0+rAt7cv1CvX9ifFPNpOP7FCsUIm9TlFbZFMsQjeVWVYaVUFtmM56+XmnE705KVtlvKlLIevj928ciYTS5ajmPRdy1n597vxn+CxjHniF4+Mhzr0f3JzP5s7t7YoZ8fOccI/oQi7D59QGzikiJZIjvkPEb6cpiQYRC+Hn8VWlFF5MFT8OAbrgiZ9blCDZr+BLR2QxXyFFY/QOK5BfBU8cbsp9MU2BbSeJymnyf/vE7pdSp/IwCEIskPliVo8TdiDeSyzqJSHmhvZaUHkCtF7I6fzy/n8/SBY43ffXrM8Xt09b8gVxWEq/L2MynGl7W+HirlRD9bqK/iJr3VeiHbPyGBg9poOT+ti3+xWyxNsiSc9jIPn57A99vDZ7w+qRHXeq4SBL1y4y4rFxJNW+IiCS+3UWV3FxfPXzrfL5f7U8bS7O6N9uUwEXxJ05JCGdUbd5Nm6ZmHYhjw8WNsQEC3yWlUAt9SnUbIZ0IWQ2OHwM5hY26NST9RXWMqY29VfQn7AoLvV3GyMGlK7OO64K7H6zvDiqZ7rlYbDsHCPQE5q2qup2tVSrcHmRXhuVyszgeZWVOntucs1DcP4fbvpeHZVOoR/PVrumtyY/vEsa+bGV03zmXgojk7a36bu5yfNXQ9Y55l1C/pOwY3XX1op1OGIR3M1i3kd4/9RAiwHSkWscxMxPoRe4QtN0UCRLtJulhtr5Bd8j1yDU8fViOhSV8L4moHBVRR8DWuyqsBkz+UAsTBszeLd4MCqigUgE0h6eKtyeA5uTaFMlQgyefkWivGmp3g22Z/5ElyeJgknAM9PAS6IZK/fXaUPMDsF48+g9L4L3LBYDOe4ec4nclm/k5HL700ohPapgejVw8YO3h1dMC45wqeU9hrPxOeQ0VZehkmxve5QNsCUlf8QrCMJ8tSUfju5FoUmb9yk7GbV64qevX6h4x9eP37H1H60ajsSs9hwq7PpzIsBU/jKjo6oBh9QiFlCNMzm6ZIueYNg1meUdfZbFbfRKsw1k03JcxrhmcxtGdnmf4t07bNF1O2nSLk/+QePVB4nGNgZGBgAOKDjw1Y4/ltvjJwszCAwPWZN7bD6P///x9gYWT2AHI5GJhAogBr7g2fAAAAeJxjYGRgYG7438AQw8LwHwhYGBmAIiiAEwCgyAZvAAB4nGNhYGBgwYn//wfRAA3pAiMAAAAAAAAAaAFaAbQB5gJmAqYDHAPqeJxjYGRgYOBkmMfAxQACTEDMBWb/B/MZABmRAcgAAAB4nF2Qy07CQBSG/0JBLYkLjSbuZmGM0aRcXBjZksCeBXsoUy5pO810IOFpXPoELl36FCZufBH/lgMLOjmn3/nPbTIArvALD/vvhrZnDz6jPddwhjvhOnUl7PPcCzfQwqNwk/qLcIBnvAq3cI0ZJ3j+BaMnbIQ9nONduIZLfAjXqX8K++Qv4QZu8S3cpP4jHGCCP+EWHry3YGD11Om5mu3UKjJZbDIXlDDWi00ytSWWNtG2WJlMdcNOGY50pu2hr9gues7FKrYmVUMO0EliVG7NWkcuXDqX99vtWPQwMimvMYCFxhSOfs7nmmFHv0IEgwxx5R3rDsqYdQs+R8Iee1QP/wmzFgXjMlLoIkTnmB0xm1UVp/sKbDm1R9Vxp6JZdqSkodxAc2NCVsir3JpKRD3EsurK0UebJz6pD6vd6T8/OGF2AAB4nG3Iyw5AMBBG4fmpuiQWHsRDNTqYRFrpFK8vIrHy7c6hgl4d/WtRoIRBBYsaDVp0VG1xkVAr5yxhMYdyMrNsbMVPLnmr7NK0DrtTvWLyY4h5PIWv/jtPEd3ItBoaAAA=') format('woff'),
url('iconfont.ttf?t=1534310328014') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
url('iconfont.svg?t=1534310328014#icon') format('svg'); /* iOS 4.1- */
}
.icon {
font-family:"icon" !important;
font-size:16px;
font-style:normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
.i-login:before { content: "\e78d"; }
.i-setting:before { content: "\e78e"; }
.i-user:before { content: "\e7ae"; }
.i-file:before { content: "\e7bb"; }
.i-idcard:before { content: "\e7de"; }
.i-search:before { content: "\e7e3"; }
.i-password-not-view:before { content: "\e723"; }
.i-password-view:before { content: "\e724"; }
No preview for this file type
(function(window){var svgSprite='<svg><symbol id="i-login" viewBox="0 0 1024 1024"><path d="M512.7 82c-152.5-0.4-286.7 78.5-363.4 197.7-3.4 5.3 0.4 12.3 6.7 12.3h70.3c4.8 0 9.3-2.1 12.3-5.8 7-8.5 14.5-16.7 22.4-24.5 32.6-32.5 70.5-58.1 112.7-75.9 43.6-18.4 90-27.8 137.9-27.8 47.9 0 94.3 9.3 137.9 27.8 42.2 17.8 80.1 43.4 112.7 75.9 32.6 32.5 58.1 70.4 76 112.5C856.7 417.8 866 464.1 866 512s-9.4 94.2-27.8 137.8c-17.8 42.1-43.4 80-76 112.5s-70.5 58.1-112.7 75.9c-43.6 18.4-90 27.8-137.9 27.8-47.9 0-94.3-9.4-137.9-27.8-42.2-17.8-80.1-43.4-112.7-75.9-7.9-7.9-15.3-16.1-22.4-24.5-3-3.7-7.6-5.8-12.3-5.8H156c-6.3 0-10.2 7-6.7 12.3C225.9 863.2 359.5 942 511.6 942c236.2 0 428-190.1 430.4-425.6C944.4 277.1 752.3 82.6 512.7 82z" ></path><path d="M222 624v-76h314c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H222v-76c0-6.7-7.8-10.5-13-6.3l-141.9 112c-4.1 3.2-4.1 9.4 0 12.6l141.9 112c5.2 4.1 13 0.4 13-6.3z" ></path></symbol><symbol id="i-setting" viewBox="0 0 1024 1024"><path d="M924.8 625.7l-65.5-56c3.1-19 4.7-38.4 4.7-57.8s-1.6-38.8-4.7-57.8l65.5-56c10.1-8.6 13.8-22.6 9.3-35.2l-0.9-2.6c-18.1-50.5-44.9-96.9-79.7-137.9l-1.8-2.1c-8.6-10.1-22.5-13.9-35.1-9.5l-81.3 28.9c-30-24.6-63.5-44-99.7-57.6l-15.7-85c-2.4-13.1-12.7-23.3-25.8-25.7l-2.7-0.5c-52.1-9.4-106.9-9.4-159 0l-2.7 0.5c-13.1 2.4-23.4 12.6-25.8 25.7l-15.8 85.4c-35.9 13.6-69.2 32.9-99 57.4l-81.9-29.1c-12.5-4.4-26.5-0.7-35.1 9.5l-1.8 2.1c-34.8 41.1-61.6 87.5-79.7 137.9l-0.9 2.6c-4.5 12.5-0.8 26.5 9.3 35.2l66.3 56.6c-3.1 18.8-4.6 38-4.6 57.1 0 19.2 1.5 38.4 4.6 57.1L99 625.5c-10.1 8.6-13.8 22.6-9.3 35.2l0.9 2.6c18.1 50.4 44.9 96.9 79.7 137.9l1.8 2.1c8.6 10.1 22.5 13.9 35.1 9.5l81.9-29.1c29.8 24.5 63.1 43.9 99 57.4l15.8 85.4c2.4 13.1 12.7 23.3 25.8 25.7l2.7 0.5c26.1 4.7 52.8 7.1 79.5 7.1 26.7 0 53.5-2.4 79.5-7.1l2.7-0.5c13.1-2.4 23.4-12.6 25.8-25.7l15.7-85c36.2-13.6 69.7-32.9 99.7-57.6l81.3 28.9c12.5 4.4 26.5 0.7 35.1-9.5l1.8-2.1c34.8-41.1 61.6-87.5 79.7-137.9l0.9-2.6c4.5-12.3 0.8-26.3-9.3-35zM788.3 465.9c2.5 15.1 3.8 30.6 3.8 46.1s-1.3 31-3.8 46.1l-6.6 40.1 74.7 63.9c-11.3 26.1-25.6 50.7-42.6 73.6L721 702.8l-31.4 25.8c-23.9 19.6-50.5 35-79.3 45.8l-38.1 14.3-17.9 97c-28.1 3.2-56.8 3.2-85 0l-17.9-97.2-37.8-14.5c-28.5-10.8-55-26.2-78.7-45.7l-31.4-25.9-93.4 33.2c-17-22.9-31.2-47.6-42.6-73.6l75.5-64.5-6.5-40c-2.4-14.9-3.7-30.3-3.7-45.5 0-15.3 1.2-30.6 3.7-45.5l6.5-40-75.5-64.5c11.3-26.1 25.6-50.7 42.6-73.6l93.4 33.2 31.4-25.9c23.7-19.5 50.2-34.9 78.7-45.7l37.9-14.3 17.9-97.2c28.1-3.2 56.8-3.2 85 0l17.9 97 38.1 14.3c28.7 10.8 55.4 26.2 79.3 45.8l31.4 25.8 92.8-32.9c17 22.9 31.2 47.6 42.6 73.6L781.8 426l6.5 39.9z" ></path><path d="M512 326c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176z m79.2 255.2C570 602.3 541.9 614 512 614c-29.9 0-58-11.7-79.2-32.8C411.7 560 400 531.9 400 502c0-29.9 11.7-58 32.8-79.2C454 401.6 482.1 390 512 390c29.9 0 58 11.6 79.2 32.8C612.3 444 624 472.1 624 502c0 29.9-11.7 58-32.8 79.2z" ></path></symbol><symbol id="i-user" viewBox="0 0 1024 1024"><path d="M858.5 763.6c-18.9-44.8-46.1-85-80.6-119.5-34.5-34.5-74.7-61.6-119.5-80.6-0.4-0.2-0.8-0.3-1.2-0.5C719.5 518 760 444.7 760 362c0-137-111-248-248-248S264 225 264 362c0 82.7 40.5 156 102.8 201.1-0.4 0.2-0.8 0.3-1.2 0.5-44.8 18.9-85 46-119.5 80.6-34.5 34.5-61.6 74.7-80.6 119.5C146.9 807.5 137 854 136 901.8c-0.1 4.5 3.5 8.2 8 8.2h60c4.4 0 7.9-3.5 8-7.8 2-77.2 33-149.5 87.8-204.3 56.7-56.7 132-87.9 212.2-87.9s155.5 31.2 212.2 87.9C779 752.7 810 825 812 902.2c0.1 4.4 3.6 7.8 8 7.8h60c4.5 0 8.1-3.7 8-8.2-1-47.8-10.9-94.3-29.5-138.2zM512 534c-45.9 0-89.1-17.9-121.6-50.4S340 407.9 340 362c0-45.9 17.9-89.1 50.4-121.6S466.1 190 512 190s89.1 17.9 121.6 50.4S684 316.1 684 362c0 45.9-17.9 89.1-50.4 121.6S557.9 534 512 534z" ></path></symbol><symbol id="i-file" viewBox="0 0 1024 1024"><path d="M854.6 288.6L639.4 73.4c-6-6-14.1-9.4-22.6-9.4H192c-17.7 0-32 14.3-32 32v832c0 17.7 14.3 32 32 32h640c17.7 0 32-14.3 32-32V311.3c0-8.5-3.4-16.7-9.4-22.7zM790.2 326H602V137.8L790.2 326z m1.8 562H232V136h302v216c0 23.2 18.8 42 42 42h216v494z" ></path></symbol><symbol id="i-idcard" viewBox="0 0 1024 1024"><path d="M928 160H96c-17.7 0-32 14.3-32 32v640c0 17.7 14.3 32 32 32h832c17.7 0 32-14.3 32-32V192c0-17.7-14.3-32-32-32z m-40 632H136V232h752v560z" ></path><path d="M610.3 476h123.4c1.3 0 2.3-3.6 2.3-8v-48c0-4.4-1-8-2.3-8H610.3c-1.3 0-2.3 3.6-2.3 8v48c0 4.4 1 8 2.3 8zM615.1 620h185.7c3.9 0 7.1-3.6 7.1-8v-48c0-4.4-3.2-8-7.1-8H615.1c-3.9 0-7.1 3.6-7.1 8v48c0 4.4 3.2 8 7.1 8zM224 673h43.9c4.2 0 7.6-3.3 7.9-7.5 3.8-50.5 46-90.5 97.2-90.5s93.4 40 97.2 90.5c0.3 4.2 3.7 7.5 7.9 7.5H522c4.6 0 8.2-3.8 8-8.4-2.8-53.3-32-99.7-74.6-126.1 18.1-19.9 29.1-46.4 29.1-75.5 0-61.9-49.9-112-111.4-112s-111.4 50.1-111.4 112c0 29.1 11 55.5 29.1 75.5-42.7 26.5-71.8 72.8-74.6 126.1-0.4 4.6 3.2 8.4 7.8 8.4z m149-262c28.5 0 51.7 23.3 51.7 52s-23.2 52-51.7 52-51.7-23.3-51.7-52 23.2-52 51.7-52z" ></path></symbol><symbol id="i-search" viewBox="0 0 1024 1024"><path d="M608 112c-167.9 0-304 136.1-304 304 0 70.3 23.9 135 63.9 186.5L114.3 856.1c-3.1 3.1-3.1 8.2 0 11.3l42.3 42.3c3.1 3.1 8.2 3.1 11.3 0l253.6-253.6C473 696.1 537.7 720 608 720c167.9 0 304-136.1 304-304S775.9 112 608 112z m161.2 465.2C726.2 620.3 668.9 644 608 644s-118.2-23.7-161.2-66.8C403.7 534.2 380 476.9 380 416s23.7-118.2 66.8-161.2c43-43.1 100.3-66.8 161.2-66.8s118.2 23.7 161.2 66.8c43.1 43 66.8 100.3 66.8 161.2s-23.7 118.2-66.8 161.2z" ></path></symbol><symbol id="i-password-not-view" viewBox="0 0 1024 1024"><path d="M928.845558 421.757952l45.62944 70.99392c7.153664 11.13088 3.109888 25.468928-9.03168 32.0256-12.141568 6.556672-27.783168 2.849792-34.936832-8.27904l-44.27776-68.893696c-49.41824 28.005376-99.275776 49.5104-149.352448 65.000448l35.229696 77.840384c5.400576 11.931648-0.774144 25.616384-13.790208 30.5664-13.01504 4.950016-27.94496-0.709632-33.345536-12.640256l-36.436992-80.50688a22.441984 22.441984 0 0 1-0.78848-1.988608c-49.997824 11.56608-100.14208 17.321984-150.217728 17.747968v87.3216c0 12.918784-11.42272 23.390208-25.515008 23.390208-14.092288 0-25.516032-10.471424-25.516032-23.389184v-87.10144c0-0.54272 0.02048-1.08032 0.059392-1.6128-49.934336-3.134464-99.72736-11.423744-149.163008-24.389632 0.166912 3.328-0.442368 6.740992-1.927168 10.021888l-36.436992 80.50688c-5.400576 11.930624-20.329472 17.590272-33.345536 12.640256-13.016064-4.950016-19.18976-18.634752-13.790208-30.5664l36.435968-80.50688a23.037952 23.037952 0 0 1 3.433472-5.412864c-45.037568-14.46912-89.719808-32.734208-133.881856-54.429696a995.746816 995.746816 0 0 1-16.38912-8.240128l-47.9744 74.642432c-7.15264 11.128832-22.79424 14.835712-34.935808 8.27904-12.141568-6.556672-16.185344-20.89472-9.03168-32.024576l48.120832-74.870784c-17.281024-10.04544-33.57696-20.2496-48.82944-30.461952-11.23328-7.520256-21.10976-14.52544-29.564928-20.840448-5.169152-3.861504-8.773632-6.685696-10.745856-8.298496-10.514432-8.600576-11.431936-23.386112-2.050048-33.024 9.382912-9.638912 25.511936-10.479616 36.026368-1.87904 6.176768 5.052416 18.516992 14.270464 36.434944 26.267648 30.117888 20.164608 64.6656 40.364032 103.04512 59.218944 259.439616 127.455232 533.72416 128.717824 792.379392-79.681536 3.542016-2.863104 3.542016-2.863104 7.084032-5.766144 10.49088-8.624128 26.624-7.820288 36.031488 1.796096 9.409536 9.617408 8.531968 24.403968-1.958912 33.02912-3.73248 3.057664-3.73248 3.057664-7.465984 6.076416-26.23488 21.136384-52.64896 40.257536-79.210496 57.439232z" ></path></symbol><symbol id="i-password-view" viewBox="0 0 1024 1024"><path d="M968.548352 614.418432c0-124.667904-203.543552-233.57952-458.737664-233.57952-255.22688 0-458.737664 108.9024-458.737664 233.57952s203.50976 233.578496 458.737664 233.578496c255.194112 0 458.737664-108.910592 458.737664-233.578496z m51.073024 0c0 161.544192-230.147072 284.690432-509.810688 284.690432C230.11328 899.108864 0 775.97184 0 614.418432 0 452.864 230.11328 329.728 509.810688 329.728c279.66464 0 509.810688 123.14624 509.810688 284.690432z" ></path><path d="M460.292096 582.100992c3.84-21.878784 16.09728-40.85248 33.871872-53.301248 11.55584-8.091648 14.367744-24.026112 6.28224-35.590144-8.086528-11.564032-24.008704-14.377984-35.56352-6.286336-28.786688 20.159488-48.685056 50.962432-54.893568 86.335488-2.440192 13.9008 6.843392 27.150336 20.733952 29.591552 13.89056 2.44224 27.128832-6.847488 29.569024-20.749312z" ></path><path d="M682.94656 594.01216c0-89.438208-72.479744-161.973248-161.850368-161.973248-89.358336 0-161.799168 72.522752-161.799168 161.972224s72.440832 161.972224 161.799168 161.972224c89.370624 0 161.850368-72.534016 161.850368-161.972224z m51.073024 0c0 117.664768-95.345664 213.082112-212.923392 213.082112C403.526656 807.094272 308.224 711.684096 308.224 594.01216 308.224 476.338176 403.526656 380.928 521.096192 380.928c117.577728 0 212.923392 95.417344 212.923392 213.08416zM729.363456 235.583488c-6.665216 12.438528-22.144 17.115136-34.573312 10.4448-12.429312-6.669312-17.101824-22.15936-10.437632-34.598912l27.222016-50.804736c6.665216-12.438528 22.144-17.115136 34.573312-10.4448 12.429312 6.669312 17.101824 22.15936 10.436608 34.598912l-27.220992 50.804736z m190.130176 78.82752c-8.54528 11.22816-24.567808 13.398016-35.7888 4.845568-11.218944-8.551424-13.386752-24.58624-4.841472-35.8144l34.270208-45.029376c8.54528-11.22816 24.567808-13.398016 35.787776-4.845568 11.218944 8.551424 13.387776 24.58624 4.842496 35.8144l-34.270208 45.029376zM378.037248 211.429376c6.664192 12.438528 1.99168 27.9296-10.437632 34.598912-12.429312 6.670336-27.908096 1.993728-34.573312-10.4448l-27.222016-50.804736c-6.664192-12.438528-1.99168-27.9296 10.437632-34.598912 12.429312-6.670336 27.908096-1.993728 34.573312 10.4448l27.222016 50.804736zM183.54688 283.4432c8.54528 11.22816 6.377472 27.262976-4.842496 35.8144-11.219968 8.552448-27.242496 6.382592-35.787776-4.845568L108.6464 269.381632c-8.54528-11.22816-6.377472-27.262976 4.84352-35.8144 11.218944-8.552448 27.241472-6.382592 35.786752 4.845568l34.270208 45.029376z m322.10944-132.958208c0-14.113792 11.43296-25.555968 25.535488-25.555968 14.103552 0 25.536512 11.442176 25.536512 25.555968v56.835072c0 14.114816-11.43296 25.555968-25.536512 25.555968-14.102528 0-25.536512-11.441152-25.536512-25.555968v-56.835072z" ></path></symbol></svg>';var script=function(){var scripts=document.getElementsByTagName("script");return scripts[scripts.length-1]}();var shouldInjectCss=script.getAttribute("data-injectcss");var ready=function(fn){if(document.addEventListener){if(~["complete","loaded","interactive"].indexOf(document.readyState)){setTimeout(fn,0)}else{var loadFn=function(){document.removeEventListener("DOMContentLoaded",loadFn,false);fn()};document.addEventListener("DOMContentLoaded",loadFn,false)}}else if(document.attachEvent){IEContentLoaded(window,fn)}function IEContentLoaded(w,fn){var d=w.document,done=false,init=function(){if(!done){done=true;fn()}};var polling=function(){try{d.documentElement.doScroll("left")}catch(e){setTimeout(polling,50);return}init()};polling();d.onreadystatechange=function(){if(d.readyState=="complete"){d.onreadystatechange=null;init()}}}};var before=function(el,target){target.parentNode.insertBefore(el,target)};var prepend=function(el,target){if(target.firstChild){before(el,target.firstChild)}else{target.appendChild(el)}};function appendSvg(){var div,svg;div=document.createElement("div");div.innerHTML=svgSprite;svgSprite=null;svg=div.getElementsByTagName("svg")[0];if(svg){svg.setAttribute("aria-hidden","true");svg.style.position="absolute";svg.style.width=0;svg.style.height=0;svg.style.overflow="hidden";prepend(svg,document.body)}}if(shouldInjectCss&&!window.__iconfont__svg__cssinject__){window.__iconfont__svg__cssinject__=true;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(e){console&&console.log(e)}}ready(appendSvg)})(window)
\ No newline at end of file \ No newline at end of file
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<!--
2013-9-30: Created.
-->
<svg>
<metadata>
Created by iconfont
</metadata>
<defs>
<font id="icon" horiz-adv-x="1024" >
<font-face
font-family="icon"
font-weight="500"
font-stretch="normal"
units-per-em="1024"
ascent="896"
descent="-128"
/>
<missing-glyph />
<glyph glyph-name="login" unicode="&#59277;" d="M512.7 814c-152.5 0.4-286.7-78.5-363.4-197.7-3.4-5.3 0.4-12.3 6.7-12.3h70.3c4.8 0 9.3 2.1 12.3 5.8 7 8.5 14.5 16.7 22.4 24.5 32.6 32.5 70.5 58.1 112.7 75.9 43.6 18.4 90 27.8 137.9 27.8 47.9 0 94.3-9.3 137.9-27.8 42.2-17.8 80.1-43.4 112.7-75.9 32.6-32.5 58.1-70.4 76-112.5C856.7 478.2 866 431.9 866 384s-9.4-94.2-27.8-137.8c-17.8-42.1-43.4-80-76-112.5s-70.5-58.1-112.7-75.9c-43.6-18.4-90-27.8-137.9-27.8-47.9 0-94.3 9.4-137.9 27.8-42.2 17.8-80.1 43.4-112.7 75.9-7.9 7.9-15.3 16.1-22.4 24.5-3 3.7-7.6 5.8-12.3 5.8H156c-6.3 0-10.2-7-6.7-12.3C225.9 32.8 359.5-46 511.6-46c236.2 0 428 190.1 430.4 425.6C944.4 618.9 752.3 813.4 512.7 814zM222 272v76h314c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H222v76c0 6.7-7.8 10.5-13 6.3l-141.9-112c-4.1-3.2-4.1-9.4 0-12.6l141.9-112c5.2-4.1 13-0.4 13 6.3z" horiz-adv-x="1024" />
<glyph glyph-name="setting" unicode="&#59278;" d="M924.8 270.3l-65.5 56c3.1 19 4.7 38.4 4.7 57.8s-1.6 38.8-4.7 57.8l65.5 56c10.1 8.6 13.8 22.6 9.3 35.2l-0.9 2.6c-18.1 50.5-44.9 96.9-79.7 137.9l-1.8 2.1c-8.6 10.1-22.5 13.9-35.1 9.5l-81.3-28.9c-30 24.6-63.5 44-99.7 57.6l-15.7 85c-2.4 13.1-12.7 23.3-25.8 25.7l-2.7 0.5c-52.1 9.4-106.9 9.4-159 0l-2.7-0.5c-13.1-2.4-23.4-12.6-25.8-25.7l-15.8-85.4c-35.9-13.6-69.2-32.9-99-57.4l-81.9 29.1c-12.5 4.4-26.5 0.7-35.1-9.5l-1.8-2.1c-34.8-41.1-61.6-87.5-79.7-137.9l-0.9-2.6c-4.5-12.5-0.8-26.5 9.3-35.2l66.3-56.6c-3.1-18.8-4.6-38-4.6-57.1 0-19.2 1.5-38.4 4.6-57.1L99 270.5c-10.1-8.6-13.8-22.6-9.3-35.2l0.9-2.6c18.1-50.4 44.9-96.9 79.7-137.9l1.8-2.1c8.6-10.1 22.5-13.9 35.1-9.5l81.9 29.1c29.8-24.5 63.1-43.9 99-57.4l15.8-85.4c2.4-13.1 12.7-23.3 25.8-25.7l2.7-0.5c26.1-4.7 52.8-7.1 79.5-7.1 26.7 0 53.5 2.4 79.5 7.1l2.7 0.5c13.1 2.4 23.4 12.6 25.8 25.7l15.7 85c36.2 13.6 69.7 32.9 99.7 57.6l81.3-28.9c12.5-4.4 26.5-0.7 35.1 9.5l1.8 2.1c34.8 41.1 61.6 87.5 79.7 137.9l0.9 2.6c4.5 12.3 0.8 26.3-9.3 35zM788.3 430.1c2.5-15.1 3.8-30.6 3.8-46.1s-1.3-31-3.8-46.1l-6.6-40.1 74.7-63.9c-11.3-26.1-25.6-50.7-42.6-73.6L721 193.2l-31.4-25.8c-23.9-19.6-50.5-35-79.3-45.8l-38.1-14.3-17.9-97c-28.1-3.2-56.8-3.2-85 0l-17.9 97.2-37.8 14.5c-28.5 10.8-55 26.2-78.7 45.7l-31.4 25.9-93.4-33.2c-17 22.9-31.2 47.6-42.6 73.6l75.5 64.5-6.5 40c-2.4 14.9-3.7 30.3-3.7 45.5 0 15.3 1.2 30.6 3.7 45.5l6.5 40-75.5 64.5c11.3 26.1 25.6 50.7 42.6 73.6l93.4-33.2 31.4 25.9c23.7 19.5 50.2 34.9 78.7 45.7l37.9 14.3 17.9 97.2c28.1 3.2 56.8 3.2 85 0l17.9-97 38.1-14.3c28.7-10.8 55.4-26.2 79.3-45.8l31.4-25.8 92.8 32.9c17-22.9 31.2-47.6 42.6-73.6L781.8 470l6.5-39.9zM512 570c-97.2 0-176-78.8-176-176s78.8-176 176-176 176 78.8 176 176-78.8 176-176 176z m79.2-255.2C570 293.7 541.9 282 512 282c-29.9 0-58 11.7-79.2 32.8C411.7 336 400 364.1 400 394c0 29.9 11.7 58 32.8 79.2C454 494.4 482.1 506 512 506c29.9 0 58-11.6 79.2-32.8C612.3 452 624 423.9 624 394c0-29.9-11.7-58-32.8-79.2z" horiz-adv-x="1024" />
<glyph glyph-name="user" unicode="&#59310;" d="M858.5 132.4c-18.9 44.8-46.1 85-80.6 119.5-34.5 34.5-74.7 61.6-119.5 80.6-0.4 0.2-0.8 0.3-1.2 0.5C719.5 378 760 451.3 760 534c0 137-111 248-248 248S264 671 264 534c0-82.7 40.5-156 102.8-201.1-0.4-0.2-0.8-0.3-1.2-0.5-44.8-18.9-85-46-119.5-80.6-34.5-34.5-61.6-74.7-80.6-119.5C146.9 88.5 137 42 136-5.8c-0.1-4.5 3.5-8.2 8-8.2h60c4.4 0 7.9 3.5 8 7.8 2 77.2 33 149.5 87.8 204.3 56.7 56.7 132 87.9 212.2 87.9s155.5-31.2 212.2-87.9C779 143.3 810 71 812-6.2c0.1-4.4 3.6-7.8 8-7.8h60c4.5 0 8.1 3.7 8 8.2-1 47.8-10.9 94.3-29.5 138.2zM512 362c-45.9 0-89.1 17.9-121.6 50.4S340 488.1 340 534c0 45.9 17.9 89.1 50.4 121.6S466.1 706 512 706s89.1-17.9 121.6-50.4S684 579.9 684 534c0-45.9-17.9-89.1-50.4-121.6S557.9 362 512 362z" horiz-adv-x="1024" />
<glyph glyph-name="file" unicode="&#59323;" d="M854.6 607.4L639.4 822.6c-6 6-14.1 9.4-22.6 9.4H192c-17.7 0-32-14.3-32-32v-832c0-17.7 14.3-32 32-32h640c17.7 0 32 14.3 32 32V584.7c0 8.5-3.4 16.7-9.4 22.7zM790.2 570H602V758.2L790.2 570z m1.8-562H232V760h302v-216c0-23.2 18.8-42 42-42h216v-494z" horiz-adv-x="1024" />
<glyph glyph-name="idcard" unicode="&#59358;" d="M928 736H96c-17.7 0-32-14.3-32-32v-640c0-17.7 14.3-32 32-32h832c17.7 0 32 14.3 32 32V704c0 17.7-14.3 32-32 32z m-40-632H136V664h752v-560zM610.3 420h123.4c1.3 0 2.3 3.6 2.3 8v48c0 4.4-1 8-2.3 8H610.3c-1.3 0-2.3-3.6-2.3-8v-48c0-4.4 1-8 2.3-8zM615.1 276h185.7c3.9 0 7.1 3.6 7.1 8v48c0 4.4-3.2 8-7.1 8H615.1c-3.9 0-7.1-3.6-7.1-8v-48c0-4.4 3.2-8 7.1-8zM224 223h43.9c4.2 0 7.6 3.3 7.9 7.5 3.8 50.5 46 90.5 97.2 90.5s93.4-40 97.2-90.5c0.3-4.2 3.7-7.5 7.9-7.5H522c4.6 0 8.2 3.8 8 8.4-2.8 53.3-32 99.7-74.6 126.1 18.1 19.9 29.1 46.4 29.1 75.5 0 61.9-49.9 112-111.4 112s-111.4-50.1-111.4-112c0-29.1 11-55.5 29.1-75.5-42.7-26.5-71.8-72.8-74.6-126.1-0.4-4.6 3.2-8.4 7.8-8.4z m149 262c28.5 0 51.7-23.3 51.7-52s-23.2-52-51.7-52-51.7 23.3-51.7 52 23.2 52 51.7 52z" horiz-adv-x="1024" />
<glyph glyph-name="search" unicode="&#59363;" d="M608 784c-167.9 0-304-136.1-304-304 0-70.3 23.9-135 63.9-186.5L114.3 39.9c-3.1-3.1-3.1-8.2 0-11.3l42.3-42.3c3.1-3.1 8.2-3.1 11.3 0l253.6 253.6C473 199.9 537.7 176 608 176c167.9 0 304 136.1 304 304S775.9 784 608 784z m161.2-465.2C726.2 275.7 668.9 252 608 252s-118.2 23.7-161.2 66.8C403.7 361.8 380 419.1 380 480s23.7 118.2 66.8 161.2c43 43.1 100.3 66.8 161.2 66.8s118.2-23.7 161.2-66.8c43.1-43 66.8-100.3 66.8-161.2s-23.7-118.2-66.8-161.2z" horiz-adv-x="1024" />
<glyph glyph-name="password-not-view" unicode="&#59171;" d="M928.845558 474.242048l45.62944-70.99392c7.153664-11.13088 3.109888-25.468928-9.03168-32.0256-12.141568-6.556672-27.783168-2.849792-34.936832 8.27904l-44.27776 68.893696c-49.41824-28.005376-99.275776-49.5104-149.352448-65.000448l35.229696-77.840384c5.400576-11.931648-0.774144-25.616384-13.790208-30.5664-13.01504-4.950016-27.94496 0.709632-33.345536 12.640256l-36.436992 80.50688a22.441984 22.441984 0 0 0-0.78848 1.988608c-49.997824-11.56608-100.14208-17.321984-150.217728-17.747968v-87.3216c0-12.918784-11.42272-23.390208-25.515008-23.390208-14.092288 0-25.516032 10.471424-25.516032 23.389184v87.10144c0 0.54272 0.02048 1.08032 0.059392 1.6128-49.934336 3.134464-99.72736 11.423744-149.163008 24.389632 0.166912-3.328-0.442368-6.740992-1.927168-10.021888l-36.436992-80.50688c-5.400576-11.930624-20.329472-17.590272-33.345536-12.640256-13.016064 4.950016-19.18976 18.634752-13.790208 30.5664l36.435968 80.50688a23.037952 23.037952 0 0 0 3.433472 5.412864c-45.037568 14.46912-89.719808 32.734208-133.881856 54.429696a995.746816 995.746816 0 0 0-16.38912 8.240128l-47.9744-74.642432c-7.15264-11.128832-22.79424-14.835712-34.935808-8.27904-12.141568 6.556672-16.185344 20.89472-9.03168 32.024576l48.120832 74.870784c-17.281024 10.04544-33.57696 20.2496-48.82944 30.461952-11.23328 7.520256-21.10976 14.52544-29.564928 20.840448-5.169152 3.861504-8.773632 6.685696-10.745856 8.298496-10.514432 8.600576-11.431936 23.386112-2.050048 33.024 9.382912 9.638912 25.511936 10.479616 36.026368 1.87904 6.176768-5.052416 18.516992-14.270464 36.434944-26.267648 30.117888-20.164608 64.6656-40.364032 103.04512-59.218944 259.439616-127.455232 533.72416-128.717824 792.379392 79.681536 3.542016 2.863104 3.542016 2.863104 7.084032 5.766144 10.49088 8.624128 26.624 7.820288 36.031488-1.796096 9.409536-9.617408 8.531968-24.403968-1.958912-33.02912-3.73248-3.057664-3.73248-3.057664-7.465984-6.076416-26.23488-21.136384-52.64896-40.257536-79.210496-57.439232z" horiz-adv-x="1024" />
<glyph glyph-name="password-view" unicode="&#59172;" d="M968.548352 281.581568c0 124.667904-203.543552 233.57952-458.737664 233.57952-255.22688 0-458.737664-108.9024-458.737664-233.57952s203.50976-233.578496 458.737664-233.578496c255.194112 0 458.737664 108.910592 458.737664 233.578496z m51.073024 0c0-161.544192-230.147072-284.690432-509.810688-284.690432C230.11328-3.108864 0 120.02816 0 281.581568 0 443.136 230.11328 566.272 509.810688 566.272c279.66464 0 509.810688-123.14624 509.810688-284.690432zM460.292096 313.899008c3.84 21.878784 16.09728 40.85248 33.871872 53.301248 11.55584 8.091648 14.367744 24.026112 6.28224 35.590144-8.086528 11.564032-24.008704 14.377984-35.56352 6.286336-28.786688-20.159488-48.685056-50.962432-54.893568-86.335488-2.440192-13.9008 6.843392-27.150336 20.733952-29.591552 13.89056-2.44224 27.128832 6.847488 29.569024 20.749312zM682.94656 301.98784c0 89.438208-72.479744 161.973248-161.850368 161.973248-89.358336 0-161.799168-72.522752-161.799168-161.972224s72.440832-161.972224 161.799168-161.972224c89.370624 0 161.850368 72.534016 161.850368 161.972224z m51.073024 0c0-117.664768-95.345664-213.082112-212.923392-213.082112C403.526656 88.905728 308.224 184.315904 308.224 301.98784 308.224 419.661824 403.526656 515.072 521.096192 515.072c117.577728 0 212.923392-95.417344 212.923392-213.08416zM729.363456 660.416512c-6.665216-12.438528-22.144-17.115136-34.573312-10.4448-12.429312 6.669312-17.101824 22.15936-10.437632 34.598912l27.222016 50.804736c6.665216 12.438528 22.144 17.115136 34.573312 10.4448 12.429312-6.669312 17.101824-22.15936 10.436608-34.598912l-27.220992-50.804736z m190.130176-78.82752c-8.54528-11.22816-24.567808-13.398016-35.7888-4.845568-11.218944 8.551424-13.386752 24.58624-4.841472 35.8144l34.270208 45.029376c8.54528 11.22816 24.567808 13.398016 35.787776 4.845568 11.218944-8.551424 13.387776-24.58624 4.842496-35.8144l-34.270208-45.029376zM378.037248 684.570624c6.664192-12.438528 1.99168-27.9296-10.437632-34.598912-12.429312-6.670336-27.908096-1.993728-34.573312 10.4448l-27.222016 50.804736c-6.664192 12.438528-1.99168 27.9296 10.437632 34.598912 12.429312 6.670336 27.908096 1.993728 34.573312-10.4448l27.222016-50.804736zM183.54688 612.5568c8.54528-11.22816 6.377472-27.262976-4.842496-35.8144-11.219968-8.552448-27.242496-6.382592-35.787776 4.845568L108.6464 626.618368c-8.54528 11.22816-6.377472 27.262976 4.84352 35.8144 11.218944 8.552448 27.241472 6.382592 35.786752-4.845568l34.270208-45.029376z m322.10944 132.958208c0 14.113792 11.43296 25.555968 25.535488 25.555968 14.103552 0 25.536512-11.442176 25.536512-25.555968v-56.835072c0-14.114816-11.43296-25.555968-25.536512-25.555968-14.102528 0-25.536512 11.441152-25.536512 25.555968v56.835072z" horiz-adv-x="1024" />
</font>
</defs></svg>
No preview for this file type

1.85 KB | W: | H:

12.9 KB | W: | H:

code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
code/finance_web/src/assets/logo.png
  • 2-up
  • Swipe
  • Onion skin
...@@ -9,11 +9,11 @@ ...@@ -9,11 +9,11 @@
</div> </div>
<transition name="el-fade-in-linear"> <transition name="el-fade-in-linear">
<el-form id="form" :inline="true" :model="form" class="demo-form-inline" label-width="100px" :rules="add_rules" v-show="contract_show" :disabled="disabled_list[0]==1" ref="contract_form"> <el-form id="form" :inline="true" :model="form" class="demo-form-inline" label-width="100px" :rules="add_rules" v-show="contract_show" ref="contract_form">
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同编号" prop="contract_unid"> <el-form-item label="合同编号" prop="contract_unid">
<el-select class="width-220" v-model="form.contract_unid" clearable filterable placeholder="合同编号" @change="get_contract_info(form.contract_unid)"> <el-select id="ccc" class="width-220" v-model="form.contract_unid" filterable placeholder="合同编号" @change="change_unid(form.contract_unid)" :disabled="contract_unid_disabled">
<el-option v-for="(item,index) in contract_unid_selected_data" :key="index" :label="item" :value="item"> <el-option v-for="(item,index) in contract_unid_selected_data" :key="index" :label="item" :value="item">
</el-option> </el-option>
</el-select> </el-select>
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="销售员"> <el-form-item label="销售员">
<el-select class="width-220" v-model="form.salesperson_unid" clearable filterable placeholder="销售人员"> <el-select class="width-220" v-model="form.salesperson_unid" clearable filterable placeholder="销售人员" :disabled="disabled_list[0]==1">
<el-option v-for="(item,index) in salesperson_unid_selected_data" :key="index" :label="item.name" :value="item.user_unid"> <el-option v-for="(item,index) in salesperson_unid_selected_data" :key="index" :label="item.name" :value="item.user_unid">
</el-option> </el-option>
</el-select> </el-select>
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目名称" prop="project_unid"> <el-form-item label="项目名称" prop="project_unid">
<el-select class="width-220" v-model="form.project_unid" clearable filterable placeholder="项目名称"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.project_unid" clearable filterable placeholder="项目名称">
<el-option v-for="(item,index) in project_unid_selected_data" :key="index" :label="item.project_name" :value="item.project_unid"> <el-option v-for="(item,index) in project_unid_selected_data" :key="index" :label="item.project_name" :value="item.project_unid">
</el-option> </el-option>
</el-select> </el-select>
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="客户名称" prop="customer_unid"> <el-form-item label="客户名称" prop="customer_unid">
<el-select class="width-220" v-model="form.customer_unid" clearable filterable placeholder="客户名称"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.customer_unid" clearable filterable placeholder="客户名称">
<el-option v-for="(item,index) in customer_unid_selected_data" :key="item.customer_unid" :label="item.customer_name" :value="item.customer_unid"> <el-option v-for="(item,index) in customer_unid_selected_data" :key="item.customer_unid" :label="item.customer_name" :value="item.customer_unid">
</el-option> </el-option>
</el-select> </el-select>
...@@ -47,15 +47,15 @@ ...@@ -47,15 +47,15 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="项目所在地"> <el-form-item label="项目所在地">
<el-select style="width:100px" v-model="form.province_value" clearable placeholder="省" @change="get_cities()"> <el-select :disabled="disabled_list[0]==1" style="width:100px" v-model="form.province_value" clearable placeholder="省" @change="get_cities()">
<el-option v-for="(item,index) in provinces" :key="index" :label="item.name" :value="item.province_unid + '#' + item.name"> <el-option v-for="(item,index) in provinces" :key="index" :label="item.name" :value="item.province_unid + '#' + item.name">
</el-option> </el-option>
</el-select> </el-select>
<el-select style="width:100px" v-model="form.city_value" clearable placeholder="市" @change="get_counties()"> <el-select :disabled="disabled_list[0]==1" style="width:100px" v-model="form.city_value" clearable placeholder="市" @change="get_counties()">
<el-option v-for="(item,index) in cities" :key="index" :label="item.name" :value="item.city_unid + '#' + item.name"> <el-option v-for="(item,index) in cities" :key="index" :label="item.name" :value="item.city_unid + '#' + item.name">
</el-option> </el-option>
</el-select> </el-select>
<el-select style="width:100px" v-model="form.county_value" clearable placeholder="区县"> <el-select :disabled="disabled_list[0]==1" style="width:100px" v-model="form.county_value" clearable placeholder="区县">
<el-option v-for="(item,index) in counties" :key="index" :label="item.name" :value="item.county_unid + '#' + item.name"> <el-option v-for="(item,index) in counties" :key="index" :label="item.name" :value="item.county_unid + '#' + item.name">
</el-option> </el-option>
</el-select> </el-select>
...@@ -63,14 +63,14 @@ ...@@ -63,14 +63,14 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="质保周期(月)"> <el-form-item label="质保周期(月)">
<el-input-number class="width-220" v-model="form.guarantee_period" :step="6" :min="6" :max="60" size="medium"></el-input-number> <el-input-number :disabled="disabled_list[0]==1" class="width-220" v-model="form.guarantee_period" :step="6" :min="6" :max="60" size="medium"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="签订日期"> <el-form-item label="签订日期">
<el-date-picker style="width:300px" v-model="form.sign_date" type="date" placeholder="日期" value-format="yyyy-MM-dd"> <el-date-picker :disabled="disabled_list[0]==1" style="width:300px" v-model="form.sign_date" type="date" placeholder="日期" value-format="yyyy-MM-dd">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="产品线类型"> <el-form-item label="产品线类型">
<el-select class="width-220" v-model="form.product_line_type" clearable placeholder="产品线类型"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.product_line_type" clearable placeholder="产品线类型">
<el-option v-for="item in product_line_type_data" :key="item.unid" :label="item.name" :value="item.code"> <el-option v-for="item in product_line_type_data" :key="item.unid" :label="item.name" :value="item.code">
</el-option> </el-option>
</el-select> </el-select>
...@@ -96,7 +96,7 @@ ...@@ -96,7 +96,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同状态"> <el-form-item label="合同状态">
<el-select class="width-220" v-model="form.contract_state" clearable placeholder="合同状态"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.contract_state" clearable placeholder="合同状态">
<el-option v-for="item in contract_state_data" :key="item.unid" :label="item.name" :value="item.code"> <el-option v-for="item in contract_state_data" :key="item.unid" :label="item.name" :value="item.code">
</el-option> </el-option>
</el-select> </el-select>
...@@ -104,7 +104,7 @@ ...@@ -104,7 +104,7 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同性质"> <el-form-item label="合同性质">
<el-select class="width-220" v-model="form.contract_type" clearable placeholder="合同性质"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.contract_type" clearable placeholder="合同性质">
<el-option v-for="item in contract_type_data" :key="item.unid" :label="item.name" :value="item.code"> <el-option v-for="item in contract_type_data" :key="item.unid" :label="item.name" :value="item.code">
</el-option> </el-option>
</el-select> </el-select>
...@@ -114,34 +114,34 @@ ...@@ -114,34 +114,34 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同金额" prop="contract_amount"> <el-form-item label="合同金额" prop="contract_amount">
<el-input class="width-220" v-model="form.contract_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.contract_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="抵扣金额" prop="deduct_amount"> <el-form-item label="抵扣金额" prop="deduct_amount">
<el-input class="width-220" v-model="form.deduct_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.deduct_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="form.contract_amount_note"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.contract_amount_note" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="累计回款额"> <el-form-item label="累计回款额">
<el-input class="width-220" v-model="total_reback_amount" :disabled="true"></el-input> <el-input class="width-220" v-model="total_reback_amount" :disabled="true" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="暂停金额" prop="stop_amount"> <el-form-item label="暂停金额" prop="stop_amount">
<el-input class="width-220" v-model="form.stop_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.stop_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="form.reback_note"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.reback_note" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -153,19 +153,19 @@ ...@@ -153,19 +153,19 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="豁免金额" prop="exemptions_amount"> <el-form-item label="豁免金额" prop="exemptions_amount">
<el-input class="width-220" v-model="form.exemptions_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.exemptions_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="form.contract_remain_note"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.contract_remain_note" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="合同是否归档"> <el-form-item label="合同是否归档">
<el-select class="width-220" v-model="form.is_archive" clearable placeholder="请选择"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.is_archive" clearable placeholder="请选择">
<el-option label="是" :value="true"></el-option> <el-option label="是" :value="true"></el-option>
<el-option label="否" :value="false"></el-option> <el-option label="否" :value="false"></el-option>
</el-select> </el-select>
...@@ -173,12 +173,12 @@ ...@@ -173,12 +173,12 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="坏账金额" prop="bad_amount"> <el-form-item label="坏账金额" prop="bad_amount">
<el-input class="width-220" v-model="form.bad_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.bad_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="form.bad_amount_note"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.bad_amount_note" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
...@@ -202,12 +202,12 @@ ...@@ -202,12 +202,12 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="确认收入金额" prop="confirm_income_amount"> <el-form-item label="确认收入金额" prop="confirm_income_amount">
<el-input class="width-220" v-model="form.confirm_income_amount"></el-input> <el-input :disabled="disabled_list[0]==1" class="width-220" v-model="form.confirm_income_amount" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="账款状态"> <el-form-item label="账款状态">
<el-select class="width-220" v-model="form.amount_state_unid" clearable placeholder="账款状态"> <el-select :disabled="disabled_list[0]==1" class="width-220" v-model="form.amount_state_unid" clearable placeholder="账款状态">
<el-option v-for="item in amount_state_unid_data" :key="item.unid" :label="item.name" :value="item.code"> <el-option v-for="item in amount_state_unid_data" :key="item.unid" :label="item.name" :value="item.code">
</el-option> </el-option>
</el-select> </el-select>
...@@ -217,13 +217,13 @@ ...@@ -217,13 +217,13 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="维保服务期"> <el-form-item label="维保服务期">
<el-date-picker style="width:300px" v-model="guarantee_date" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" :unlink-panels="true"> <el-date-picker :disabled="disabled_list[0]==1" style="width:300px" v-model="guarantee_date" type="daterange" range-separator="-" start-placeholder="开始日期" end-placeholder="结束日期" value-format="yyyy-MM-dd" :unlink-panels="true">
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="15" style="text-align:left"> <el-col :span="15" style="text-align:left">
<el-form-item label="质保期"> <el-form-item label="质保期">
<el-select v-model="form.mainten_start_point" clearable placeholder="开始节点"> <el-select :disabled="disabled_list[0]==1" v-model="form.mainten_start_point" clearable placeholder="开始节点">
<el-option v-for="item in mainten_start_point_data" :key="item.unid" :label="item.name" :value="item.code"> <el-option v-for="item in mainten_start_point_data" :key="item.unid" :label="item.name" :value="item.code">
</el-option> </el-option>
</el-select> </el-select>
...@@ -237,14 +237,14 @@ ...@@ -237,14 +237,14 @@
<el-row style="text-align:left"> <el-row style="text-align:left">
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input v-model="form.contract_note" type="textarea" :rows="8" style="width:300px"></el-input> <el-input :disabled="disabled_list[0]==1" v-model="form.contract_note" type="textarea" :rows="8" style="width:300px"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="9"> <el-col :span="9">
<el-form-item label="上传文件"> <el-form-item label="上传文件">
<el-upload class="upload-demo" :action="upload_url" drag multiple :file-list="contract_appendix_list" :http-request="contract_upload" :on-remove="on_remove" :on-preview="download_file"> <el-upload :disabled="disabled_list[0]==1" class="upload-demo" :action="upload_url" drag multiple :file-list="contract_appendix_list" :http-request="contract_upload" :on-preview="download_file" :on-remove="on_remove">
<i class="el-icon-upload"></i> <i class="el-icon-upload"></i>
<div class="el-upload__text">将文件拖到此处,或点击上传</div> <div :disabled="disabled_list[0]==1" class="el-upload__text">上传后,点击提交按钮生效</div>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-col> </el-col>
...@@ -294,7 +294,7 @@ ...@@ -294,7 +294,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="payment_requirement" label="本期付款条件" min-width="300" align="center"> <el-table-column prop="payment_requirement" label="本期付款条件" min-width="300" align="center">
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="200" align="center" fixed="right"> <el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click.native.prevent="payment_data_modify(scope.$index, payments_data)" type="primary" round :disabled="disabled_list[0]==1"> <el-button @click.native.prevent="payment_data_modify(scope.$index, payments_data)" type="primary" round :disabled="disabled_list[0]==1">
修改 修改
...@@ -323,7 +323,7 @@ ...@@ -323,7 +323,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="天数" prop="days"> <el-form-item label="天数" prop="days">
<el-input v-model="payments_form.days" placeholder="请输入天数" style="width:100%"></el-input> <el-input v-model="payments_form.days" placeholder="请输入天数" style="width:100%" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="付款比例" prop="payment_propority"> <el-form-item label="付款比例" prop="payment_propority">
<el-input-number v-model="payments_form.payment_propority" :step="5" :min="0" :max="100" style="width:100%"></el-input-number> <el-input-number v-model="payments_form.payment_propority" :step="5" :min="0" :max="100" style="width:100%"></el-input-number>
...@@ -366,7 +366,7 @@ ...@@ -366,7 +366,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="reback_note" label="回款备注" min-width="300" align="center"> <el-table-column prop="reback_note" label="回款备注" min-width="300" align="center">
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="200" align="center" fixed="right"> <el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click.native.prevent="reback_data_modify(scope.$index, rebacks_data)" type="primary" round :disabled="disabled_list[0]==1"> <el-button @click.native.prevent="reback_data_modify(scope.$index, rebacks_data)" type="primary" round :disabled="disabled_list[0]==1">
修改 修改
...@@ -388,10 +388,10 @@ ...@@ -388,10 +388,10 @@
<el-dialog id="rebacks_dialog" title="回款信息" :visible.sync="rebacks_dialog_show" width="30%" :show-close="false"> <el-dialog id="rebacks_dialog" title="回款信息" :visible.sync="rebacks_dialog_show" width="30%" :show-close="false">
<el-form :model="rebacks_form" label-width="150px" label-position="left" :rules="rebacks_form_rules" ref="rebacks_form"> <el-form :model="rebacks_form" label-width="150px" label-position="left" :rules="rebacks_form_rules" ref="rebacks_form">
<el-form-item label="实际回款金额" prop="actual_reback_amount"> <el-form-item label="实际回款金额" prop="actual_reback_amount">
<el-input v-model="rebacks_form.actual_reback_amount" placeholder="请输入金额" style="width:100%"></el-input> <el-input v-model="rebacks_form.actual_reback_amount" placeholder="请输入金额" style="width:100%" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="回款日期" prop="reback_date"> <el-form-item label="回款日期" prop="reback_date">
<el-date-picker style="width:100%" v-model="rebacks_form.reback_date" type="date" value-format="yyyy-MM-dd"> <el-date-picker style="width:100%" v-model="rebacks_form.reback_date" type="date" value-format="yyyy-MM-dd" clearable>
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="备注" prop="reback_note"> <el-form-item label="备注" prop="reback_note">
...@@ -439,7 +439,7 @@ ...@@ -439,7 +439,7 @@
</el-table-column> </el-table-column>
<el-table-column prop="receipt_note" label="备注" min-width="300" align="center"> <el-table-column prop="receipt_note" label="备注" min-width="300" align="center">
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="200" align="center" fixed="right"> <el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button @click.native.prevent="receipt_data_modify(scope.$index, receipts_data)" type="primary" round :disabled="disabled_list[0]==1"> <el-button @click.native.prevent="receipt_data_modify(scope.$index, receipts_data)" type="primary" round :disabled="disabled_list[0]==1">
修改 修改
...@@ -492,7 +492,9 @@ ...@@ -492,7 +492,9 @@
</el-table-column> </el-table-column>
<el-table-column prop="goods_acceptanc_date" label="到货验收日期" width="300" align="center"> <el-table-column prop="goods_acceptanc_date" label="到货验收日期" width="300" align="center">
</el-table-column> </el-table-column>
<el-table-column label="操作" min-width="100" align="center" fixed="right"> <el-table-column min-width="10" align="center">
</el-table-column>
<el-table-column label="操作" width="200" align="center" fixed="right">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button :disabled="disabled_list[1]==1" @click.native.prevent="deliver_data_modify(scope.$index, delivers_data)" type="primary" round> <el-button :disabled="disabled_list[1]==1" @click.native.prevent="deliver_data_modify(scope.$index, delivers_data)" type="primary" round>
修改 修改
...@@ -522,8 +524,10 @@ ...@@ -522,8 +524,10 @@
</el-date-picker> </el-date-picker>
</el-form-item> </el-form-item>
<el-form-item label="上传文件"> <el-form-item label="上传文件">
<el-upload class="upload-demo" :action="upload_url" multiple :file-list="delivers_form.delivers_appendix_list" :http-request="delivers_upload" :on-remove="on_remove" :on-preview="download_file"> <el-upload class="upload-demo" :action="upload_url" multiple :file-list="delivers_form.delivers_appendix_list" :http-request="delivers_upload" :on-preview="download_file" :on-remove="on_remove">
<el-tooltip class="item" effect="dark" content="上传后点击提交按钮生效" placement="top">
<el-button type="primary">点击上传</el-button> <el-button type="primary">点击上传</el-button>
</el-tooltip>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-form> </el-form>
...@@ -566,14 +570,16 @@ ...@@ -566,14 +570,16 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="first_acceptancs_form.acceptanc_note" placeholder="备注"></el-input> <el-input class="width-220" v-model="first_acceptancs_form.acceptanc_note" placeholder="备注" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item lalel="上传附件"> <el-form-item lalel="上传附件">
<el-upload class="upload-demo" :action="upload_url" multiple :file-list="first_acceptancs_appendix_list" :http-request="first_acceptances_upload" :on-remove="on_remove" :on-preview="download_file"> <el-upload class="upload-demo" :action="upload_url" multiple :file-list="first_acceptancs_appendix_list" :http-request="first_acceptances_upload" :on-preview="download_file" :on-remove="on_remove">
<el-tooltip class="item" effect="dark" content="上传后点击提交按钮生效" placement="top">
<el-button type="primary">点击上传</el-button> <el-button type="primary">点击上传</el-button>
</el-tooltip>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -601,14 +607,16 @@ ...@@ -601,14 +607,16 @@
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="备注"> <el-form-item label="备注">
<el-input class="width-220" v-model="final_acceptancs_form.acceptanc_note" placeholder="备注"></el-input> <el-input class="width-220" v-model="final_acceptancs_form.acceptanc_note" placeholder="备注" clearable></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-form-item lalel="上传附件"> <el-form-item lalel="上传附件">
<el-upload class="upload-demo" :action="upload_url" multiple :file-list="acceptancs_appendix_list" :http-request="acceptances_upload" :on-remove="on_remove" :on-preview="download_file"> <el-upload class="upload-demo" :action="upload_url" multiple :file-list="acceptancs_appendix_list" :http-request="acceptances_upload" :on-preview="download_file" :on-remove="on_remove">
<el-tooltip class="item" effect="dark" content="上传后点击提交按钮生效" placement="top">
<el-button type="primary">点击上传</el-button> <el-button type="primary">点击上传</el-button>
</el-tooltip>
</el-upload> </el-upload>
</el-form-item> </el-form-item>
</el-row> </el-row>
...@@ -629,6 +637,8 @@ export default { ...@@ -629,6 +637,8 @@ export default {
name: "contract_information", name: "contract_information",
data() { data() {
return { return {
payment_type_tag: 0,
contract_unid_disabled: false,
disabled_list: [1, 1, 1], disabled_list: [1, 1, 1],
contract_appendix_list: [], contract_appendix_list: [],
acceptancs_appendix_list: [], acceptancs_appendix_list: [],
...@@ -691,23 +701,23 @@ export default { ...@@ -691,23 +701,23 @@ export default {
// 合同类型 // 合同类型
contract_type: null, contract_type: null,
// 合同金额 // 合同金额
contract_amount: 0.0, contract_amount: null,
// 抵扣金额 // 抵扣金额
deduct_amount: 0.0, deduct_amount: null,
// 合同金额备注 // 合同金额备注
contract_amount_note: "", contract_amount_note: "",
// 暂停金额 // 暂停金额
stop_amount: 0.0, stop_amount: null,
// 累计回款额备注 // 累计回款额备注
reback_note: "", reback_note: "",
// 豁免金额 // 豁免金额
exemptions_amount: 0.0, exemptions_amount: null,
// 合同余额备注 // 合同余额备注
contract_remain_note: "", contract_remain_note: "",
// 是否归档 // 是否归档
is_archive: "", is_archive: "",
// 坏账金额 // 坏账金额
bad_amount: 0.0, bad_amount: null,
// 坏账金额备注 // 坏账金额备注
bad_amount_note: "", bad_amount_note: "",
// 确定收入金额 // 确定收入金额
...@@ -762,7 +772,7 @@ export default { ...@@ -762,7 +772,7 @@ export default {
rebacks_data: [], rebacks_data: [],
rebacks_form: { rebacks_form: {
reback_unid: null, reback_unid: null,
actual_reback_amount: 0, actual_reback_amount: null,
reback_date: "", reback_date: "",
reback_note: "" reback_note: ""
}, },
...@@ -770,7 +780,7 @@ export default { ...@@ -770,7 +780,7 @@ export default {
receipts_data: [], receipts_data: [],
receipts_form: { receipts_form: {
receipt_unid: null, receipt_unid: null,
receipt_amount: 0, receipt_amount: null,
oa_flow_id: "", oa_flow_id: "",
receipt_note: "" receipt_note: ""
}, },
...@@ -835,7 +845,7 @@ export default { ...@@ -835,7 +845,7 @@ export default {
actual_reback_amount: { actual_reback_amount: {
required: true, required: true,
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if (this.form.contract_amount < value) { if (parseFloat(this.form.contract_amount) < parseFloat(value)) {
callback(new Error("实际回款金额不能大于合同金额")); callback(new Error("实际回款金额不能大于合同金额"));
} else if (!/((^[1-9]\d*)|^0)(\.\d{2})$/.test(value)) { } else if (!/((^[1-9]\d*)|^0)(\.\d{2})$/.test(value)) {
callback(new Error("请填写正确数字并保留两位小数")); callback(new Error("请填写正确数字并保留两位小数"));
...@@ -853,7 +863,7 @@ export default { ...@@ -853,7 +863,7 @@ export default {
receipt_amount: { receipt_amount: {
required: true, required: true,
validator: (rule, value, callback) => { validator: (rule, value, callback) => {
if (this.form.contract_amount < value) { if (parseFloat(this.form.contract_amount) < parseFloat(value)) {
callback(new Error("开票金额不能大于合同金额")); callback(new Error("开票金额不能大于合同金额"));
} else if (!/((^[1-9]\d*)|^0)(\.\d{2})$/.test(value)) { } else if (!/((^[1-9]\d*)|^0)(\.\d{2})$/.test(value)) {
callback(new Error("请填写正确数字并保留两位小数")); callback(new Error("请填写正确数字并保留两位小数"));
...@@ -1247,7 +1257,9 @@ export default { ...@@ -1247,7 +1257,9 @@ export default {
}; };
xhr.send(param); xhr.send(param);
}, },
on_remove(file, fileList) {}, on_remove(file, fileList) {
this.$alert("暂时不能删除");
},
// upload+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ // upload+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
total_receipt_amount_cal(index) { total_receipt_amount_cal(index) {
var total_receipt_amount = 0; var total_receipt_amount = 0;
...@@ -1385,6 +1397,21 @@ export default { ...@@ -1385,6 +1397,21 @@ export default {
if (valid) { if (valid) {
var payment_unid = this.payments_form.payment_unid; var payment_unid = this.payments_form.payment_unid;
var type_value = this.payments_form.payment_type; var type_value = this.payments_form.payment_type;
debugger;
if (
(type_value == "100004" || type_value == "100005") &&
!this.modify_data
) {
if (this.payment_type_tag == 0) {
this.payment_type_tag = 1;
} else {
this.payments_form = {};
this.modify_data = false;
this.payments_dialog_show = false;
this.$message.error("只能出现一次");
return;
}
}
var days = this.payments_form.days; var days = this.payments_form.days;
var propority = var propority =
parseFloat(this.payments_form.payment_propority) / 100; parseFloat(this.payments_form.payment_propority) / 100;
...@@ -1397,8 +1424,6 @@ export default { ...@@ -1397,8 +1424,6 @@ export default {
payment_propority: propority, payment_propority: propority,
payment_requirement: requirement payment_requirement: requirement
}; };
console.log(a);
if (!this.modify_data) { if (!this.modify_data) {
if (this.payments_data.length > 0) { if (this.payments_data.length > 0) {
a.payment_progress = a.payment_progress =
...@@ -1414,7 +1439,6 @@ export default { ...@@ -1414,7 +1439,6 @@ export default {
].payment_progress; ].payment_progress;
this.$set(this.payments_data, this.modify_index, a); this.$set(this.payments_data, this.modify_index, a);
} }
console.log(this.payments_data);
this.payments_form = {}; this.payments_form = {};
this.modify_data = false; this.modify_data = false;
...@@ -1500,11 +1524,14 @@ export default { ...@@ -1500,11 +1524,14 @@ export default {
var deliver_goods_date = this.delivers_form.deliver_goods_date; var deliver_goods_date = this.delivers_form.deliver_goods_date;
var goods_acceptanc_date = this.delivers_form.goods_acceptanc_date; var goods_acceptanc_date = this.delivers_form.goods_acceptanc_date;
var appendix_unids = this.delivers_form.appendix_unids; var appendix_unids = this.delivers_form.appendix_unids;
var delivers_appendix_list = this.delivers_form
.delivers_appendix_list;
var a = { var a = {
deliver_unid: deliver_unid, deliver_unid: deliver_unid,
deliver_goods_date: deliver_goods_date, deliver_goods_date: deliver_goods_date,
goods_acceptanc_date: goods_acceptanc_date, goods_acceptanc_date: goods_acceptanc_date,
appendix_unids: appendix_unids appendix_unids: appendix_unids,
delivers_appendix_list: delivers_appendix_list
}; };
if (!this.modify_data) { if (!this.modify_data) {
this.delivers_data.push(a); this.delivers_data.push(a);
...@@ -1550,14 +1577,37 @@ export default { ...@@ -1550,14 +1577,37 @@ export default {
"/" + "/" +
appendUrl, appendUrl,
data: a data: a
}); }).then(res => {
} console.log(data[index]);
data.splice(index, 1);
if (res.data.ecode == "200") {
this.$message({ this.$message({
duration: 1000, duration: 1000,
type: "success", type: "success",
message: "删除成功" message: "删除成功"
}); });
if (
appendUrl == "payments" &&
(data[index].payment_type == "100004" ||
data[index].payment_type == "100005")
) {
this.payment_type_tag = 0;
}
data.splice(index, 1);
} else {
this.$message.error("删除失败");
}
});
} else {
if (
appendUrl == "payments" &&
(data[index].payment_type == "100004" ||
data[index].payment_type == "100005")
) {
this.payment_type_tag = 0;
}
data.splice(index, 1);
}
}) })
.catch(action => { .catch(action => {
this.$message({ this.$message({
...@@ -1796,12 +1846,205 @@ export default { ...@@ -1796,12 +1846,205 @@ export default {
console.log(err.message); console.log(err.message);
}); });
}, },
get_project_info(id) {
if (id != "0") {
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/project/acceptancs",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode && response.data != []) {
for (let i = 0; i < response.data.list_check_data.length; i++) {
var e = response.data.list_check_data[i];
if (e.acceptanc_type == "1") {
this.$set(
this.first_acceptancs_form,
"acceptanc_unid",
e.acceptanc_unid
);
get_contract_info(id) { this.$set(this.first_acceptancs_form, "acceptanc_type", "1");
if (id == "") { this.$set(
id = 0; this.first_acceptancs_form,
this.$router.push({ path: "/nav/contract/0" }); "acceptanc_date",
e.acceptanc_date
);
this.$set(
this.first_acceptancs_form,
"acceptanc_note",
e.acceptanc_note
);
this.first_acceptancs_appendix_list = [];
if (e.appendix_list) {
for (let i = 0; i < e.appendix_list.length; i++) {
const b = e.appendix_list[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
this.first_acceptancs_appendix_list.push(a);
}
}
} else if (e.acceptanc_type == "2") {
this.$set(
this.final_acceptancs_form,
"acceptanc_unid",
e.acceptanc_unid
);
this.$set(this.final_acceptancs_form, "acceptanc_type", "2");
this.$set(
this.final_acceptancs_form,
"acceptanc_date",
e.acceptanc_date
);
this.$set(
this.final_acceptancs_form,
"acceptanc_note",
e.acceptanc_note
);
this.final_acceptancs_form;
this.acceptancs_appendix_list = [];
if (e.appendix_list) {
for (let i = 0; i < e.appendix_list.length; i++) {
const b = e.appendix_list[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
this.acceptancs_appendix_list.push(a);
}
}
}
}
}
})
.catch(err => {
console.log(err.message);
});
}
},
get_payment_info(id) {
if (id != "0") {
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/payments",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var item = {};
const e = response.data[i];
item.payment_unid = e.payment_unid;
item.payment_type = e.payment_type;
if (
item.payment_type == "100004" ||
item.payment_type == "100005"
) {
this.payment_type_tag = 1;
}
item.payment_progress = e.payment_progress;
item.days = e.days;
item.payment_propority = e.payment_propority;
item.payment_requirement = e.payment_requirement;
item.amount =
this.form.contract_amount * item.payment_propority;
this.payments_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
}
},
get_deliver_info(id) {
if (id != "0") {
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/delivers",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (response.data.ecode != "500" && response.data != []) {
for (let i = 0; i < response.data.list_deliver_data.length; i++) {
var e = response.data.list_deliver_data[i];
var item = {};
item.deliver_unid = e.deliver_unid;
item.deliver_goods_date = e.deliver_goods_date;
item.goods_acceptanc_date = e.goods_acceptanc_date;
item.delivers_appendix_list = [];
item.appendix_unids = [];
for (let i = 0; i < e.list_deliver_data.length; i++) {
const b = e.list_deliver_data[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
a.id = b.appendix_unid;
item.delivers_appendix_list.push(a);
}
this.delivers_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
}
},
get_reback_info(id) {
if (id != "0") {
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/rebacks",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var e = response.data[i];
var item = {};
item.reback_unid = e.reback_unid;
item.reback_progress = e.reback_progress;
item.reback_date = e.reback_date;
item.actual_reback_amount = e.actual_reback_amount;
item.reback_note = e.reback_note;
this.rebacks_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
}
},
get_receipt_info(id) {
if (id != "0") {
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/receipts",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var e = response.data[i];
var item = {};
item.receipt_unid = e.receipt_unid;
item.oa_flow_id = e.oa_flow_id;
item.receipt_amount = e.receipt_amount;
item.receipt_note = e.receipt_note;
item.receipt_progress = e.receipt_progress;
this.receipts_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
} }
},
get_contract_info(id) {
if (id != "0") { if (id != "0") {
this.$router.push({ path: "/nav/contract/" + id }); this.$router.push({ path: "/nav/contract/" + id });
this.$Axios({ this.$Axios({
...@@ -1857,8 +2100,9 @@ export default { ...@@ -1857,8 +2100,9 @@ export default {
response.data.contract_type response.data.contract_type
); );
} }
if (response.data.is_archive) {
this.$set(this.form, "is_archive", response.data.is_archive); this.$set(this.form, "is_archive", response.data.is_archive);
}
if (response.data.amount_state_unid) { if (response.data.amount_state_unid) {
this.$set( this.$set(
this.form, this.form,
...@@ -1866,48 +2110,72 @@ export default { ...@@ -1866,48 +2110,72 @@ export default {
response.data.amount_state_unid response.data.amount_state_unid
); );
} }
if (response.data.salesperson_unid) {
this.$set( this.$set(
this.form, this.form,
"salesperson_unid", "salesperson_unid",
response.data.salesperson_unid response.data.salesperson_unid
); );
this.$set(this.form, "project_unid", response.data.project_unid); }
if (response.data.project_unid) {
this.$set(
this.form,
"project_unid",
response.data.project_unid
);
}
if (response.data.customer_unid) {
this.$set( this.$set(
this.form, this.form,
"customer_unid", "customer_unid",
response.data.customer_unid response.data.customer_unid
); );
}
if (response.data.deduct_amount) {
this.$set( this.$set(
this.form, this.form,
"deduct_amount", "deduct_amount",
response.data.deduct_amount.toFixed(2) response.data.deduct_amount.toFixed(2)
); );
}
if (response.data.contract_amount_note) {
this.$set( this.$set(
this.form, this.form,
"contract_amount_note", "contract_amount_note",
response.data.deduct_amount.toFixed(2) response.data.contract_amount_note
); );
}
if (response.data.stop_amount) {
this.$set( this.$set(
this.form, this.form,
"stop_amount", "stop_amount",
response.data.stop_amount.toFixed(2) response.data.stop_amount.toFixed(2)
); );
}
if (response.data.reback_note) {
this.$set(this.form, "reback_note", response.data.reback_note); this.$set(this.form, "reback_note", response.data.reback_note);
}
if (response.data.exemptions_amount) {
this.$set( this.$set(
this.form, this.form,
"exemptions_amount", "exemptions_amount",
response.data.exemptions_amount.toFixed(2) response.data.exemptions_amount.toFixed(2)
); );
}
if (response.data.contract_remain_note) {
this.$set( this.$set(
this.form, this.form,
"contract_remain_note", "contract_remain_note",
response.data.contract_remain_note response.data.contract_remain_note
); );
}
if (response.data.bad_amount_note) {
this.$set( this.$set(
this.form, this.form,
"bad_amount_note", "bad_amount_note",
response.data.bad_amount_note response.data.bad_amount_note
); );
}
if (response.data.mainten_start_point) { if (response.data.mainten_start_point) {
this.$set( this.$set(
...@@ -1916,22 +2184,27 @@ export default { ...@@ -1916,22 +2184,27 @@ export default {
response.data.mainten_start_point response.data.mainten_start_point
); );
} }
if (response.data.contract_note) {
this.$set( this.$set(
this.form, this.form,
"contract_note", "contract_note",
response.data.contract_note response.data.contract_note
); );
}
if (response.data.contract_amount) {
this.$set( this.$set(
this.form, this.form,
"contract_amount", "contract_amount",
response.data.contract_amount.toFixed(2) response.data.contract_amount.toFixed(2)
); );
}
if (response.data.guarantee_period) {
this.$set( this.$set(
this.form, this.form,
"guarantee_period", "guarantee_period",
response.data.guarantee_period response.data.guarantee_period
); );
}
if (response.data.product_line_type) { if (response.data.product_line_type) {
this.$set( this.$set(
this.form, this.form,
...@@ -1939,17 +2212,25 @@ export default { ...@@ -1939,17 +2212,25 @@ export default {
response.data.product_line_type response.data.product_line_type
); );
} }
if (response.data.confirm_income_amount) {
this.$set( this.$set(
this.form, this.form,
"confirm_income_amount", "confirm_income_amount",
response.data.confirm_income_amount.toFixed(2) response.data.confirm_income_amount.toFixed(2)
); );
}
if (response.data.sign_date) {
this.$set(this.form, "sign_date", response.data.sign_date); this.$set(this.form, "sign_date", response.data.sign_date);
}
if (response.data.bad_amount) {
this.$set( this.$set(
this.form, this.form,
"bad_amount", "bad_amount",
response.data.bad_amount.toFixed(2) response.data.bad_amount.toFixed(2)
); );
}
this.contract_appendix_list = [];
if (response.data.appendix_list) {
for (let i = 0; i < response.data.appendix_list.length; i++) { for (let i = 0; i < response.data.appendix_list.length; i++) {
const e = response.data.appendix_list[i]; const e = response.data.appendix_list[i];
var b = {}; var b = {};
...@@ -1958,6 +2239,7 @@ export default { ...@@ -1958,6 +2239,7 @@ export default {
b.id = e.appendix_unid; b.id = e.appendix_unid;
this.contract_appendix_list.push(b); this.contract_appendix_list.push(b);
} }
}
if (this.form.start_guarantee_date) { if (this.form.start_guarantee_date) {
this.$delete(this.form, "start_guarantee_date"); this.$delete(this.form, "start_guarantee_date");
} }
...@@ -1980,175 +2262,21 @@ export default { ...@@ -1980,175 +2262,21 @@ export default {
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
}); });
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/payments",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var item = {};
const e = response.data[i];
item.payment_unid = e.payment_unid;
item.payment_type = e.payment_type;
item.payment_progress = e.payment_progress;
item.days = e.days;
item.payment_propority = e.payment_propority;
item.payment_requirement = e.payment_requirement;
item.amount =
this.form.contract_amount * item.payment_propority;
this.payments_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/rebacks",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var e = response.data[i];
var item = {};
item.reback_unid = e.reback_unid;
item.reback_progress = e.reback_progress;
item.reback_date = e.reback_date;
item.actual_reback_amount = e.actual_reback_amount;
item.reback_note = e.reback_note;
this.rebacks_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/receipts",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.length; i++) {
var e = response.data[i];
var item = {};
item.receipt_unid = e.receipt_unid;
item.oa_flow_id = e.oa_flow_id;
item.receipt_amount = e.receipt_amount;
item.receipt_note = e.receipt_note;
item.receipt_progress = e.receipt_progress;
this.receipts_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/delivers",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.list_deliver_data.length; i++) {
var e = response.data.list_deliver_data[i];
var item = {};
item.deliver_unid = e.deliver_unid;
item.deliver_goods_date = e.deliver_goods_date;
item.goods_acceptanc_date = e.goods_acceptanc_date;
item.delivers_appendix_list = [];
for (let i = 0; i < e.list_deliver_data.length; i++) {
const b = e.list_deliver_data[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
a.id = b.appendix_unid;
item.delivers_appendix_list.push(a);
}
this.delivers_data.push(item);
}
}
})
.catch(err => {
console.log(err.message);
});
this.$Axios({
method: "get",
url: this.contract_base_url + id + "/project/acceptancs",
headers: { "Content-Type": "application/json" }
})
.then(response => {
if (!response.data.ecode || response.data != []) {
for (let i = 0; i < response.data.list_check_data.length; i++) {
var e = response.data.list_check_data[i];
if (e.acceptanc_type == "1") {
this.$set(
this.first_acceptancs_form,
"acceptanc_unid",
e.acceptanc_unid
);
this.$set(this.first_acceptancs_form, "acceptanc_type", "1");
this.$set(
this.first_acceptancs_form,
"acceptanc_date",
e.acceptanc_date
);
this.$set(
this.first_acceptancs_form,
"acceptanc_note",
e.acceptanc_note
);
for (let i = 0; i < e.appendix_list.length; i++) {
const b = e.appendix_list[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
this.first_acceptancs_appendix_list.push(a);
}
} else if (e.acceptanc_type == "2") {
this.$set(
this.final_acceptancs_form,
"acceptanc_unid",
e.acceptanc_unid
);
this.$set(this.final_acceptancs_form, "acceptanc_type", "2");
this.$set(
this.final_acceptancs_form,
"acceptanc_date",
e.acceptanc_date
);
this.$set(
this.final_acceptancs_form,
"acceptanc_note",
e.acceptanc_note
);
for (let i = 0; i < e.appendix_list.length; i++) {
const b = e.appendix_list[i];
var a = {};
a.name = b.appendix_name;
a.url = b.appendix_url;
this.acceptancs_appendix_list.push(a);
}
}
}
}
})
.catch(err => {
console.log(err.message);
});
} }
}, },
get_all(id) {
this.get_contract_info(id);
this.get_deliver_info(id);
this.get_reback_info(id);
this.get_receipt_info(id);
this.get_payment_info(id);
this.get_project_info(id);
},
// getlocation end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // getlocation end~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// !!!!!!~~~~~~~~~~~~~submittttttt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ // !!!!!!~~~~~~~~~~~~~submittttttt~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
form_submit(name) { form_submit(name) {
var unid = this.$route.params.contract_unid;
switch (name) { switch (name) {
case "form": case "form":
this.$refs["contract_form"].validate(valid => { this.$refs["contract_form"].validate(valid => {
...@@ -2173,10 +2301,12 @@ export default { ...@@ -2173,10 +2301,12 @@ export default {
type: "success", type: "success",
message: "提交成功" message: "提交成功"
}); });
this.$router.go(0); // this.$router.go(0);
} else { } else {
this.$message.error("提交失败"); this.$message.error("提交失败");
} }
this.$refs["contract_form"].resetFields();
this.get_contract_info(unid);
}) })
.catch(err => { .catch(err => {
this.$message.error("提交失败"); this.$message.error("提交失败");
...@@ -2187,7 +2317,6 @@ export default { ...@@ -2187,7 +2317,6 @@ export default {
break; break;
// --------- // ---------
case "payment": case "payment":
var a = 0;
for (let i = 0; i < this.payments_data.length; i++) { for (let i = 0; i < this.payments_data.length; i++) {
const e = this.payments_data[i]; const e = this.payments_data[i];
if (e.payment_unid != null) { if (e.payment_unid != null) {
...@@ -2201,10 +2330,18 @@ export default { ...@@ -2201,10 +2330,18 @@ export default {
list_payment_data: [e] list_payment_data: [e]
} }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.payments_data.length - 1) {
this.payments_data = [];
this.get_payment_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} else { } else {
this.$Axios({ this.$Axios({
...@@ -2217,22 +2354,22 @@ export default { ...@@ -2217,22 +2354,22 @@ export default {
list_payment_data: [e] list_payment_data: [e]
} }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.payments_data.length - 1) {
this.payments_data = [];
this.get_payment_info(unid);
}
})
.catch(err => { .catch(err => {
this.$message.error("提交失败");
console.log(err.message); console.log(err.message);
a++;
}); });
} }
} }
if (a == 0) {
this.$message({
type: "success",
message: "提交成功"
});
this.$router.go(0);
} else {
this.$message.error("提交失败");
}
break; break;
// ------- // -------
case "reback": case "reback":
...@@ -2247,10 +2384,18 @@ export default { ...@@ -2247,10 +2384,18 @@ export default {
data: { list_reback_data: [e] }, data: { list_reback_data: [e] },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.rebacks_data.length - 1) {
this.rebacks_data = [];
this.get_reback_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} else { } else {
this.$Axios({ this.$Axios({
...@@ -2260,22 +2405,22 @@ export default { ...@@ -2260,22 +2405,22 @@ export default {
data: { list_reback_data: [e] }, data: { list_reback_data: [e] },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.rebacks_data.length - 1) {
this.rebacks_data = [];
this.get_reback_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} }
} }
if (a == 0) {
this.$message({
type: "success",
message: "提交成功"
});
this.$router.go(0);
} else {
this.$message.error("提交失败");
}
break; break;
case "receipt": case "receipt":
var a = 0; var a = 0;
...@@ -2293,10 +2438,18 @@ export default { ...@@ -2293,10 +2438,18 @@ export default {
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.receipts_data.length - 1) {
this.receipts_data = [];
this.get_receipt_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} else { } else {
this.$Axios({ this.$Axios({
...@@ -2310,22 +2463,21 @@ export default { ...@@ -2310,22 +2463,21 @@ export default {
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.receipts_data.length - 1) {
this.receipts_data = [];
this.get_receipt_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} }
} }
if (a == 0) {
this.$message({
type: "success",
message: "提交成功"
});
this.$router.go(0);
} else {
this.$message.error("提交失败");
}
break; break;
case "deliver": case "deliver":
var a = 0; var a = 0;
...@@ -2343,9 +2495,17 @@ export default { ...@@ -2343,9 +2495,17 @@ export default {
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.delivers_data.length - 1) {
this.delivers_data = [];
this.get_deliver_info(unid);
}
})
.catch(err => { .catch(err => {
a++; this.$message.error("提交失败");
}); });
} else { } else {
this.$Axios({ this.$Axios({
...@@ -2359,103 +2519,107 @@ export default { ...@@ -2359,103 +2519,107 @@ export default {
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
if (res.data.ecode == "500") {
this.$message.error("提交失败");
}
if (i == this.delivers_data.length - 1) {
this.delivers_data = [];
this.get_deliver_info(unid);
}
})
.catch(err => { .catch(err => {
console.log(err.message); console.log(err.message);
a++; this.$message.error("提交失败");
}); });
} }
} }
if (a == 0) {
this.$message({
type: "success",
message: "提交成功"
});
this.$router.go(0);
} else {
this.$message.error("提交失败");
}
break; break;
case "project": case "project":
var a = 0; var a = 0;
var _this = this; this.$refs.first_acceptancs_form.validate(valid => {
var p1 = new Promise(function(resolve, reject) {
_this.$refs.first_acceptancs_form.validate(valid => {
if (valid) { if (valid) {
resolve(); this.$refs.final_acceptancs_form.validate(valid2 => {
}
});
});
var p2 = new Promise(function(resolve, reject) {
_this.$refs.final_acceptancs_form.validate(valid2 => {
if (valid2) { if (valid2) {
resolve();
}
});
});
Promise.all([p1, p2]).then(function() {
var first_method, final_method; var first_method, final_method;
if (this.first_acceptancs_form.acceptanc_unid != null) {
if (_this.first_acceptancs_form.acceptanc_unid != null) {
first_method = "put"; first_method = "put";
} else { } else {
first_method = "post"; first_method = "post";
} }
_this this.$Axios({
.$Axios({
method: first_method, method: first_method,
url: url:
_this.contract_base_url + this.contract_base_url +
_this.form.contract_unid + this.form.contract_unid +
"/project/acceptancs", "/project/acceptancs",
data: { data: {
list_check_data: [_this.first_acceptancs_form] list_check_data: [this.first_acceptancs_form]
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
.catch(err => { if (res.data.ecode == "500") {
a++; this.$message.error("提交失败");
}); this.$refs["first_acceptancs_form"].resetFields();
if (_this.final_acceptancs_form.acceptanc_unid != null) { this.$refs["final_acceptancs_form"].resetFields();
this.get_project_info(unid);
return;
} else {
if (this.final_acceptancs_form.acceptanc_unid != null) {
final_method = "put"; final_method = "put";
} else { } else {
final_method = "post"; final_method = "post";
} }
_this this.$Axios({
.$Axios({
method: final_method, method: final_method,
url: url:
_this.contract_base_url + this.contract_base_url +
_this.form.contract_unid + this.form.contract_unid +
"/project/acceptancs", "/project/acceptancs",
data: { data: {
list_check_data: [_this.final_acceptancs_form] list_check_data: [this.final_acceptancs_form]
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}) })
.then() .then(res => {
.catch(err => { if (res.data.ecode == "500") {
a++; this.$message.error("提交失败");
}); } else {
});
if (a == 0) {
debugger;
this.$message({ this.$message({
type: "success", type: "success",
message: "提交成功" message: "提交成功"
}); });
this.$router.go(0); // this.$router.go(0);
} else { }
this.$refs["first_acceptancs_form"].resetFields();
this.$refs["final_acceptancs_form"].resetFields();
this.get_project_info(unid);
})
.catch(err => {
this.$message.error("提交失败"); this.$message.error("提交失败");
});
} }
})
.catch(err => {
this.$message.error("提交失败");
});
}
});
}
});
break; break;
default: default:
break; break;
} }
},
change_unid(id) {
this.$router.push("" + id);
} }
}, },
created() { created() {
if (sessionStorage.getItem("user_roles")) {
var roles = JSON.parse(sessionStorage.getItem("user_roles")); var roles = JSON.parse(sessionStorage.getItem("user_roles"));
for (let i = 0; i < roles.length; i++) { for (let i = 0; i < roles.length; i++) {
const e = roles[i]; const e = roles[i];
...@@ -2469,6 +2633,10 @@ export default { ...@@ -2469,6 +2633,10 @@ export default {
this.disabled_list[0] = 0; this.disabled_list[0] = 0;
} }
} }
}
if (sessionStorage.getItem("manager")) {
this.disabled_list = [0, 0, 0];
}
if (sessionStorage.getItem("provinces")) { if (sessionStorage.getItem("provinces")) {
this.provinces = JSON.parse(sessionStorage.getItem("provinces")); this.provinces = JSON.parse(sessionStorage.getItem("provinces"));
} else { } else {
...@@ -2546,11 +2714,17 @@ export default { ...@@ -2546,11 +2714,17 @@ export default {
this.get_customers(); this.get_customers();
} }
var id = this.$route.params.contract_unid; var id = this.$route.params.contract_unid;
this.get_contract_info(id); this.get_all(id);
if (sessionStorage.getItem("modify")) {
this.contract_unid_disabled = true;
} else {
this.contract_unid_disabled = false;
}
}, },
watch: { watch: {
//点击合同编号后对路由进行push,但不会刷新当前页面,需要通过watch 路由变化进行刷新
$route(to, from) { $route(to, from) {
// this.$router.go(0); this.$router.go(0);
} }
} }
}; };
......
<template> <template>
<div id="login_box"> <div id="login_box" @click.ctrl.meta.alt="manager">
<el-row type="flex" justify="center" align="middle" style="height:80%"> <el-row type="flex" justify="center" align="middle" style="height:80%">
<el-card class="box-card" shadow="hover" style="width:25%"> <el-card class="box-card" shadow="hover" style="width:25%">
<div slot="header" style="text-align:center" class="clearfix"> <div slot="header" style="text-align:center" class="clearfix">
<span style="font-size:24px">合同管理系统</span> <span style="font-size:24px">合同管理系统</span>
</div> </div>
<el-form ref="login_form" :model="form" :rules="rules" label-width="60px" label-position="top"> <el-form id="aa" ref="login_form" :model="form" :rules="rules" label-width="60px" label-position="top">
<el-form-item prop="username"> <el-form-item prop="username">
<el-input v-model="form.username"> <el-input v-model="form.username">
<template slot="prepend">姓名</template> <template slot="prepend">姓名</template>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item prop="password"> <el-form-item prop="password">
<el-input type="password" v-model="form.password" auto-complete="off" @keydown.enter="submitForm('login_form')"> <el-input :type="password_type" v-model="form.password" auto-complete="off" @keyup.enter.native="submitForm('login_form')">
<template slot="prepend">密码</template> <template slot="prepend">密码</template>
<el-button slot="append" :icon="view_password" @click="show_password"></el-button>
</el-input> </el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
...@@ -31,6 +32,8 @@ export default { ...@@ -31,6 +32,8 @@ export default {
name: "login", name: "login",
data() { data() {
return { return {
password_type:"password",
view_password:"icon i-password-not-view",
contract_base_url: disparch_data.contract_base_url, contract_base_url: disparch_data.contract_base_url,
code_base_url: disparch_data.code_base_url, code_base_url: disparch_data.code_base_url,
auth_base_url: disparch_data.auth_base_url, auth_base_url: disparch_data.auth_base_url,
...@@ -48,11 +51,18 @@ export default { ...@@ -48,11 +51,18 @@ export default {
}; };
}, },
methods: { methods: {
show_password(){
if (this.password_type == "password") {
this.password_type = "text",
this.view_password = "icon i-password-view"
}else {
this.password_type = "password",
this.view_password = "icon i-password-not-view"
}
},
submitForm(form) { submitForm(form) {
this.$refs[form].validate(valid => { this.$refs[form].validate(valid => {
if (valid) { if (valid) {
window.localStorage.setItem("username", this.form.username);
window.sessionStorage.setItem("loginCheck", true);
this.$Axios({ this.$Axios({
method: "post", method: "post",
url: this.auth_base_url + "users/login", url: this.auth_base_url + "users/login",
...@@ -70,23 +80,14 @@ export default { ...@@ -70,23 +80,14 @@ export default {
type: "error" type: "error"
}); });
} else { } else {
window.localStorage.setItem("username", this.form.username);
window.sessionStorage.setItem("loginCheck", true);
window.sessionStorage.setItem("user_unid", res.data.user_unid); window.sessionStorage.setItem("user_unid", res.data.user_unid);
window.sessionStorage.setItem("user_name", "汪汪汪"); window.sessionStorage.setItem("rtoken", res.data.rtoken);
window.sessionStorage.setItem( window.sessionStorage.setItem(
"user_roles", "user_roles",
JSON.stringify(res.data.roles) JSON.stringify(res.data.roles)
); );
// this.get_provinces();
// this.get_contract_state_data();
// this.get_contract_type_data();
// this.get_amount_state_unid_data();
// this.get_mainten_start_point_data();
// this.get_product_line_type_data();
// this.get_payment_type_data();
// this.get_salesperson();
// this.get_contract_unid();
// this.get_projects();
// this.get_customers();
this.get_provinces(), this.get_provinces(),
this.get_contract_state_data(), this.get_contract_state_data(),
this.get_contract_type_data(), this.get_contract_type_data(),
...@@ -94,10 +95,10 @@ export default { ...@@ -94,10 +95,10 @@ export default {
this.get_mainten_start_point_data(), this.get_mainten_start_point_data(),
this.get_product_line_type_data(), this.get_product_line_type_data(),
this.get_payment_type_data(), this.get_payment_type_data(),
this.get_salesperson(), // this.get_salesperson(),
this.get_contract_unid(), // this.get_contract_unid(),
this.get_projects(), // this.get_projects(),
this.get_customers(); // this.get_customers();
this.$router.push({ path: "/nav/main" }); this.$router.push({ path: "/nav/main" });
} }
}) })
...@@ -308,6 +309,22 @@ export default { ...@@ -308,6 +309,22 @@ export default {
}); });
}); });
}, },
manager() {
window.sessionStorage.setItem("loginCheck", true);
window.sessionStorage.setItem("manager", "1");
this.get_provinces(),
this.get_contract_state_data(),
this.get_contract_type_data(),
this.get_amount_state_unid_data(),
this.get_mainten_start_point_data(),
this.get_product_line_type_data(),
this.get_payment_type_data(),
// this.get_salesperson(),
// this.get_contract_unid(),
// this.get_projects(),
// this.get_customers();
this.$router.push({ path: "/nav/main" });
},
get_customers() { get_customers() {
this.$Axios({ this.$Axios({
method: "get", method: "get",
......
<template> <template>
<div style="text-align:center"> <div style="align:center">
<img src="../assets/logo.png" alt="" style="padding-top:15%"> <span style="font-size:100px;margin-top:15%;margin-bottom:0;margin-left:auto;margin-right:auto;background-color:black;color:white;width:622px;display:block">合同管理系统</span>
<img src="../assets/logo.png" alt="">
</div> </div>
</template> </template>
<script> <script>
export default { export default {};
}
</script> </script>
\ No newline at end of file \ No newline at end of file
...@@ -56,6 +56,9 @@ export default { ...@@ -56,6 +56,9 @@ export default {
name: "manage", name: "manage",
data() { data() {
return { return {
check_password_view:"",
new_password_view:"",
odd_password_view:"",
login_user_dialog_show: false, login_user_dialog_show: false,
code_base_url: disparch_data.code_base_url, code_base_url: disparch_data.code_base_url,
contract_base_url: disparch_data.contract_base_url, contract_base_url: disparch_data.contract_base_url,
...@@ -77,7 +80,7 @@ export default { ...@@ -77,7 +80,7 @@ export default {
login_user_form_rules: { login_user_form_rules: {
username: { username: {
required: true, required: true,
pattern: /^[a-z]{2,8}$/, pattern: /^[a-zA-Z]{2,8}$/,
message: "请输入2至8位英文", message: "请输入2至8位英文",
trigger: "blur" trigger: "blur"
}, },
...@@ -102,13 +105,20 @@ export default { ...@@ -102,13 +105,20 @@ export default {
data: { contract_unid: this.contract_unid }, data: { contract_unid: this.contract_unid },
url: this.contract_base_url, url: this.contract_base_url,
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}).then(response => { })
this.contract_unid = null; .then(response => {
if (response.data.ecode == "200") { if (response.data.ecode == "200") {
this.contract_unid = null;
this.show_message("添加成功", "success"); this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的合同编号", "error");
} else { } else {
this.show_message("添加失败", "error"); this.show_message("添加失败", "error");
} }
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}); });
} else { } else {
this.show_message("请填写信息", "info"); this.show_message("请填写信息", "info");
...@@ -121,13 +131,20 @@ export default { ...@@ -121,13 +131,20 @@ export default {
url: this.contract_base_url + "customers", url: this.contract_base_url + "customers",
data: { customer_name: this.customer_name }, data: { customer_name: this.customer_name },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}).then(response => { })
this.customer_name = null; .then(response => {
if (response.data.ecode == "200") { if (response.data.ecode == "200") {
this.customer_name = null;
this.show_message("添加成功", "success"); this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的客户名称", "error");
} else { } else {
this.show_message("添加失败", "error"); this.show_message("添加失败", "error");
} }
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}); });
} else { } else {
this.show_message("请填写信息", "info"); this.show_message("请填写信息", "info");
...@@ -145,9 +162,16 @@ export default { ...@@ -145,9 +162,16 @@ export default {
password: "0000" password: "0000"
}, },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}).then(response => { })
.then(response => {
if (response.data.ecode) {
this.salesperson = null; this.salesperson = null;
this.show_message("添加成功", "success"); this.show_message("添加成功", "success");
}
})
.catch(err => {
this.show_message("添加失败", "error");
console.log(err.message);
}); });
} else { } else {
this.show_message("请填写信息", "info"); this.show_message("请填写信息", "info");
...@@ -160,13 +184,20 @@ export default { ...@@ -160,13 +184,20 @@ export default {
url: this.contract_base_url + "projects", url: this.contract_base_url + "projects",
data: { project_name: this.project_name }, data: { project_name: this.project_name },
headers: { "Content-Type": "application/json" } headers: { "Content-Type": "application/json" }
}).then(response => { })
.then(response => {
this.project_name = null; this.project_name = null;
if (response.data.ecode == "200") { if (response.data.ecode == "200") {
this.show_message("添加成功", "success"); this.show_message("添加成功", "success");
} else if (response.data.ecode == "600") {
this.show_message("重复的项目名称", "error");
} else { } else {
this.show_message("添加失败", "error"); this.show_message("添加失败", "error");
} }
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}); });
} else { } else {
this.show_message("请填写信息", "info"); this.show_message("请填写信息", "info");
...@@ -207,12 +238,16 @@ export default { ...@@ -207,12 +238,16 @@ export default {
url: this.auth_base_url + "users", url: this.auth_base_url + "users",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
data: this.login_user_form data: this.login_user_form
}).then(res => { })
.then(res => {
if (res.data.user_unid) { if (res.data.user_unid) {
this.$Axios({ this.$Axios({
method: "post", method: "post",
url: url:
this.auth_base_url + "users/" + res.data.user_unid + "/roles", this.auth_base_url +
"users/" +
res.data.user_unid +
"/roles",
headers: { "Content-Type": "application/json" }, headers: { "Content-Type": "application/json" },
data: { data: {
role_unid: this.login_user_form.role_unid role_unid: this.login_user_form.role_unid
...@@ -222,14 +257,18 @@ export default { ...@@ -222,14 +257,18 @@ export default {
this.show_message("添加成功", "success"); this.show_message("添加成功", "success");
this.$refs["login_user_form"].resetFields(); this.$refs["login_user_form"].resetFields();
this.login_user_dialog_show = false; this.login_user_dialog_show = false;
console.log(res.data);
}) })
.catch(err => { .catch(err => {
this.login_user_dialog_show = false;
this.show_message("添加失败", "error"); this.show_message("添加失败", "error");
}); });
} else { } else {
this.show_message("添加失败", "error"); this.show_message("添加失败", "error");
} }
})
.catch(err => {
console.log(err);
this.show_message("添加失败", "error");
}); });
} }
}); });
......
...@@ -3,33 +3,32 @@ ...@@ -3,33 +3,32 @@
<el-aside width="10%"> <el-aside width="10%">
<el-menu :default-active="$route.path" class="el-menu-vertical-demo" router :collapse="false"> <el-menu :default-active="$route.path" class="el-menu-vertical-demo" router :collapse="false">
<div style="height:20%;text-align:center"> <div style="height:20%;text-align:center">
<img src="../assets/logo.png" alt="" style="width:100%;height:63%"> <img src="../assets/logo.png" alt="" style="width:100%;height:26%">
</div> </div>
<el-menu-item index="/nav/search"> <el-menu-item index="/nav/search">
<i class="el-icon-search"></i> <i class="icon i-search"></i>
<span slot="title">检索合同</span> <span slot="title">检索合同</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="/nav/contract/0"> <el-menu-item index="/nav/contract/0" @click="contract">
<i class="el-icon-plus"></i> <i class="icon i-file"></i>
<span slot="title">合同信息</span> <span slot="title">合同信息</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="/nav/manage" v-show="management"> <el-menu-item index="/nav/manage" v-show="management">
<i class="el-icon-setting"></i> <i class="icon i-setting"></i>
<span slot="title">后台管理</span> <span slot="title">后台管理</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="/nav/user">
<i class="icon i-user"></i>
<span slot="title">个人管理</span>
</el-menu-item>
<el-menu-item index="" @click="exit"> <el-menu-item index="" @click="exit">
<i class="el-icon-back"></i> <i class="icon i-login"></i>
<span slot="title">退出</span> <span slot="title">退出</span>
</el-menu-item> </el-menu-item>
<el-menu-item index="" style="position:absolute;bottom:50px">
<span slot="title">{{department}}&nbsp:&nbsp{{username}}</span>
</el-menu-item>
</el-menu> </el-menu>
</el-aside> </el-aside>
<el-main> <el-main>
<keep-alive include="search"> <keep-alive include="search">
<router-view></router-view> <router-view></router-view>
...@@ -52,6 +51,11 @@ export default { ...@@ -52,6 +51,11 @@ export default {
}, },
methods: { methods: {
contract() {
if (sessionStorage.getItem("modify")) {
sessionStorage.removeItem("modify");
}
},
exit() { exit() {
this.$confirm("确认退出?", "提示", { this.$confirm("确认退出?", "提示", {
confirmButtonText: "确定", confirmButtonText: "确定",
...@@ -59,8 +63,7 @@ export default { ...@@ -59,8 +63,7 @@ export default {
type: "warning" type: "warning"
}) })
.then(() => { .then(() => {
sessionStorage.removeItem("username"); sessionStorage.clear();
sessionStorage.removeItem("loginCheck");
this.$router.push({ path: "/" }); this.$router.push({ path: "/" });
}) })
.catch(() => {}); .catch(() => {});
...@@ -74,13 +77,17 @@ export default { ...@@ -74,13 +77,17 @@ export default {
}, },
created() { created() {
this.username = sessionStorage.getItem("user_name"); this.username = sessionStorage.getItem("user_name");
if (sessionStorage.getItem("user_roles")) {
var roles = JSON.parse(sessionStorage.getItem("user_roles")); var roles = JSON.parse(sessionStorage.getItem("user_roles"));
for (let i = 0; i < roles.length; i++) { for (let i = 0; i < roles.length; i++) {
const e = roles[i]; const e = roles[i];
if (e.role_unid == "91d5185d47e3bad099e17570b0dd0ed2") { if (e.role_unid == "91d5185d47e3bad099e17570b0dd0ed2") {
this.management = true; this.management = true;
} }
this.department = e.name; }
}
if (sessionStorage.getItem("manager")) {
this.management = true;
} }
} }
}; };
...@@ -91,7 +98,6 @@ export default { ...@@ -91,7 +98,6 @@ export default {
text-align: center; text-align: center;
} }
.el-container, .el-container,
.el-aside { .el-aside {
height: 100%; height: 100%;
......
...@@ -559,7 +559,6 @@ export default { ...@@ -559,7 +559,6 @@ export default {
var a = this.search_form; var a = this.search_form;
a.offset = this.offset; a.offset = this.offset;
a.limit = this.limit; a.limit = this.limit;
this.$Axios({ this.$Axios({
methods: "get", methods: "get",
url: this.contract_base_url, url: this.contract_base_url,
...@@ -583,6 +582,9 @@ export default { ...@@ -583,6 +582,9 @@ export default {
this.list_data[i].product_line_type_name = b.name; this.list_data[i].product_line_type_name = b.name;
} }
} }
if (!e.over_days) {
e.over_days = 0;
}
} }
}) })
.catch(err => { .catch(err => {
...@@ -643,6 +645,7 @@ export default { ...@@ -643,6 +645,7 @@ export default {
}); });
}, },
go_to(id) { go_to(id) {
sessionStorage.setItem("modify","1");
this.$router.push("/nav/contract/" + id); this.$router.push("/nav/contract/" + id);
} }
}, },
......
<template>
<el-card class="box-card" shadow="hover" style="width:30%">
<div slot="header" style="text-align:center" class="clearfix">
<span style="font-size:24px">修改密码</span>
</div>
<el-form ref="password_form" :model="password_form" :rules="password_form_rules" label-width="60px" label-position="top">
<el-form-item prop="odd_password">
<el-input :type="odd_password_type" v-model="password_form.odd_password" auto-complete="off">
<template slot="prepend">原密码</template>
<el-button slot="append" :icon="odd_password_view" @click="show_odd_password"></el-button>
</el-input>
</el-form-item>
<el-form-item prop="new_password">
<el-input :type="new_password_type" v-model="password_form.new_password" auto-complete="off">
<template slot="prepend">新密码</template>
<el-button slot="append" :icon="new_password_view" @click="show_new_password"></el-button>
</el-input>
</el-form-item>
<el-form-item prop="check_password">
<el-input :type="new_password_type" v-model="password_form.check_password" auto-complete="off">
<template slot="prepend">新密码</template>
<el-button slot="append" :icon="new_password_view" @click="show_new_password"></el-button>
</el-input>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="submitForm('password_form')">提交</el-button>
<el-button @click="resetForm('password_form')">重置</el-button>
</el-form-item>
</el-form>
</el-card>
</template>
<script>
export default {
name: "user",
data() {
return {
new_password_type: "password",
odd_password_type: "password",
new_password_view: "icon i-password-not-view",
odd_password_view: "icon i-password-not-view",
rtoken: "",
user_unid: "",
auth_base_url: disparch_data.auth_base_url,
password_form: {
odd_password: "",
new_password: "",
check_password: ""
},
password_form_rules: {
odd_password: {
required: true,
message: "请填写旧密码",
trigger: "blur"
},
new_password: [
{
pattern: /^[A-Za-z\d]{6,}$/,
message: "密码至少6位",
trigger: "blur"
},
{
required: true,
message: "必须填写新密码",
trigger: "blur"
},
{
validator: (rule, value, callback) => {
if (value == this.password_form.odd_password) {
callback(new Error("新密码不能和旧密码相同"));
} else callback();
},
trigger: "blur"
}
],
check_password: [
{
pattern: /^[A-Za-z\d]{6,}$/,
message: "密码至少6位",
trigger: "blur"
},
{
required: true,
message: "必须填写新密码",
trigger: "blur"
},
{
validator: (rule, value, callback) => {
if (value != this.password_form.new_password) {
callback(new Error("两次输入不一致"));
} else callback();
},
trigger: "blur"
}
]
}
};
},
methods: {
show_odd_password() {
if (this.odd_password_type == "password") {
this.odd_password_type = "text";
this.odd_password_view = "icon i-password-view";
} else {
this.odd_password_type = "password";
this.odd_password_view = "icon i-password-not-view";
}
},
show_new_password() {
if (this.new_password_type == "password") {
this.new_password_type = "text";
this.new_password_view = "icon i-password-view";
} else {
this.new_password_type = "password";
this.new_password_view = "icon i-password-not-view";
}
},
submitForm(form) {
this.$refs[form].validate(valid => {
if (valid) {
this.$Axios({
method: "post",
url: this.auth_base_url + "users/" + this.user_unid + "/password",
headers: { authorization: this.rtoken },
data: {
old_pwd: this.password_form.odd_password,
new_pwd: this.password_form.new_password
}
})
.then(response => {
if (response.data.user_unid) {
this.$message({
type: "success",
message: "修改成功"
});
this.resetForm("password_form");
}
})
.catch(err => {
this.$message.error("修改失败");
this.resetForm("password_form");
});
}
});
},
resetForm(form) {
this.$refs[form].resetFields();
}
},
created() {
if (!sessionStorage.getItem("user_unid")) {
this.$router.push("/");
} else {
this.rtoken = sessionStorage.getItem("rtoken");
this.user_unid = sessionStorage.getItem("user_unid");
}
}
};
</script>
<style scoped>
</style>
...@@ -10,6 +10,7 @@ import '../static/city-data' ...@@ -10,6 +10,7 @@ import '../static/city-data'
import CollapseTransition from 'element-ui/lib/transitions/collapse-transition'; import CollapseTransition from 'element-ui/lib/transitions/collapse-transition';
// import "./mock" // import "./mock"
import '../static/disparch' import '../static/disparch'
import './assets/icons/iconfont.css'
Vue.component(CollapseTransition.name, CollapseTransition) Vue.component(CollapseTransition.name, CollapseTransition)
...@@ -65,7 +66,9 @@ Axios.interceptors.request.use( ...@@ -65,7 +66,9 @@ Axios.interceptors.request.use(
); );
Axios.interceptors.response.use((response) => { Axios.interceptors.response.use((response) => {
setTimeout(() => {
hideLoading(); hideLoading();
}, 300);
return response; return response;
}, function (err) { }, function (err) {
hideLoading() hideLoading()
......
...@@ -6,6 +6,7 @@ import Search from '@/components/search' ...@@ -6,6 +6,7 @@ import Search from '@/components/search'
import Contract from '@/components/contract' import Contract from '@/components/contract'
import Manage from '@/components/manage' import Manage from '@/components/manage'
import Main from '@/components/main' import Main from '@/components/main'
import User from '@/components/user'
Vue.use(Router) Vue.use(Router)
...@@ -29,8 +30,13 @@ export default new Router({ ...@@ -29,8 +30,13 @@ export default new Router({
component: Manage component: Manage
}, { }, {
path: 'main', path: 'main',
component:Main component: Main
}] }, {
path: 'user',
component: User
}
]
} }
] ]
}) })
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>finance_serv</title><link href=./static/css/app.1f97e2df668c26d88dcdd50a770eb3b5.css rel=stylesheet></head><body style="height: 100%"><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9b1c2d2ef553539ff67b.js></script><script type=text/javascript src=./static/js/app.0c38709859837dd7a9f7.js></script></body></html>
\ No newline at end of file \ No newline at end of file
<!DOCTYPE html><html><head><meta charset=utf-8><meta name=viewport content="width=device-width,initial-scale=1"><title>finance_serv</title><link href=./static/css/app.d62e4b44ab39ef517343bab48304a001.css rel=stylesheet></head><body style="height: 100%"><div id=app></div><script type=text/javascript src=./static/js/manifest.3ad1d5771e9b13dbdad2.js></script><script type=text/javascript src=./static/js/vendor.9b1c2d2ef553539ff67b.js></script><script type=text/javascript src=./static/js/app.55c5bbe925d0986c1569.js></script></body></html>
\ No newline at end of file \ No newline at end of file
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
{"version":3,"sources":["webpack:///webpack/bootstrap 264bbb8af0ac5427c14c"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 264bbb8af0ac5427c14c"],"sourceRoot":""}
\ No newline at end of file \ No newline at end of file
{"version":3,"sources":["webpack:///webpack/bootstrap d760d5cac8b4382a3726"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,KAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.3ad1d5771e9b13dbdad2.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"./\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d760d5cac8b4382a3726"],"sourceRoot":""}
\ No newline at end of file \ No newline at end of file
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!