Elizabeth's proactive approach involves introducing urinal toilet attachment , an ingenious concept that optimizes space and functionality.

addInspection.vue 12KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295
  1. <template>
  2. <el-dialog
  3. :title="formTitle"
  4. width="900px"
  5. :visible.sync="visible"
  6. :before-close="_close"
  7. >
  8. <div>
  9. <el-form :model="form" :rules="rules" ref="form" label-width="100px" style="display: flex;flex-wrap: wrap;justify-content: space-between;">
  10. <el-form-item label="组套名称 : " prop="project_team" style="width:100%">
  11. <el-input v-model="form.project_team" placeholder="" maxlength="30"></el-input>
  12. </el-form-item>
  13. <el-form-item label="组套价格 : " prop="price" style="width:100%">
  14. <el-input v-model="form.price" placeholder="" maxlength="30"></el-input>
  15. </el-form-item>
  16. <el-form-item label="拼音 : " prop="pinyin" style="width:50%">
  17. <el-input v-model="form.pinyin" placeholder="" maxlength="30"></el-input>
  18. </el-form-item>
  19. <el-form-item label="五笔 : " prop="wubi" style="width:50%">
  20. <el-input v-model="form.wubi" placeholder="" maxlength="30"></el-input>
  21. </el-form-item>
  22. <el-form-item label="试管颜色 : " prop="tube_color" style="width:50%">
  23. <el-select v-model="form.tube_color" style="width:160px;" placeholder="请选择">
  24. <el-option
  25. v-for="(item,index) in getDictionaryDataConfig('system','tube_color')"
  26. :key="index"
  27. :label="item.name"
  28. :value="item.id">
  29. </el-option>
  30. </el-select>
  31. </el-form-item>
  32. <el-form-item label="组套类型 : " prop="team_type" style="width:50%">
  33. <el-select v-model="form.team_type" style="width:100%;" placeholder="请选择">
  34. <el-option
  35. v-for="item in options"
  36. :key="item.value"
  37. :label="item.label"
  38. :value="item.value">
  39. </el-option>
  40. </el-select>
  41. </el-form-item>
  42. <el-form-item label="备注 : " prop="name" style="width:100%;">
  43. <el-input type="textarea" :rows="2" placeholder="请输入内容" v-model="form.remark"></el-input>
  44. </el-form-item>
  45. <el-form-item label="组套明细" style="width:50%;">
  46. <el-select v-model="form.project_detail" placeholder="请选择">
  47. <el-option
  48. v-for="item in projectList"
  49. :key="item.id"
  50. :label="item.project_name"
  51. :value="item.id">
  52. </el-option>
  53. </el-select>
  54. </el-form-item>
  55. <el-form-item label="数量" style="width:50%;">
  56. <div style="display:flex;">
  57. <el-input v-model="form.number" style="margin-right:10px;"></el-input>
  58. <el-button type="primary" @click="addProjectList">添加</el-button>
  59. </div>
  60. </el-form-item>
  61. </el-form>
  62. <el-form>
  63. <el-table :data="tableData" border style="100%" :row-style="{ color: '#303133' }" :header-cell-style="{backgroundColor: 'rgb(245, 247, 250)',color: '#606266'}" highlight-current-row ref="tab">
  64. <el-table-column align="center" prop="name" label="分类" width="120">
  65. <template slot-scope="scope">{{getId(scope.row.statistical_classification)}}</template>
  66. </el-table-column>
  67. <el-table-column align="center" prop="name" label="组套明细" width="120">
  68. <template slot-scope="scope">{{scope.row.project_name}}</template>
  69. </el-table-column>
  70. <el-table-column align="center" prop="name" label="数量" width="120">
  71. <template slot-scope="scope">{{scope.row.number}}</template>
  72. </el-table-column>
  73. <el-table-column align="center" prop="name" label="单位" width="120">
  74. <template slot-scope="scope">{{scope.row.unit}}</template>
  75. </el-table-column>
  76. <el-table-column align="center" prop="name" label="单价" width="120">
  77. <template slot-scope="scope">{{scope.row.price}}</template>
  78. </el-table-column>
  79. <el-table-column align="center" prop="name" label="操作">
  80. <template slot-scope="scope">
  81. <el-tooltip
  82. class="item"
  83. effect="dark"
  84. content="删除"
  85. placement="top"
  86. >
  87. <el-button
  88. type="danger"
  89. icon="el-icon-delete"
  90. size="small"
  91. @click="DeleteProject(scope.row.id,scope.$index)"
  92. ></el-button>
  93. </el-tooltip>
  94. </template>
  95. </el-table-column>
  96. </el-table>
  97. </el-form>
  98. </div>
  99. <div slot="footer" class="dialog-footer">
  100. <el-button @click="hide">取 消</el-button>
  101. <el-button type="primary" @click="submitAction('form')">保 存</el-button>
  102. </div>
  103. </el-dialog>
  104. </template>
  105. <script>
  106. import { getDictionaryDataConfig,getDataConfig } from "@/utils/data";
  107. import { saveProjectTeam,getAllProjectList,addProjectList,DeleteProject,getProjectDetail } from "@/api/project/project"
  108. export default {
  109. data(){
  110. return{
  111. visible:false,
  112. formTitle:'',
  113. activeName:'first',
  114. form:{
  115. project_team:'',
  116. price:"",
  117. pinyin:"",
  118. wubi:"",
  119. tube_color:"",
  120. team_type:"",
  121. remark:"",
  122. project_detail:"",
  123. number:""
  124. },
  125. options: [
  126. {value: 1,label: '是'},
  127. {value: 2,label: '否'}
  128. ],
  129. value: '',
  130. radio:'1',
  131. rules: {
  132. project_team: [{ required: true, message: '请填写组套名称', trigger: 'blur' }],
  133. // pinyin: [{ required: true, message: '请填写拼音' , trigger: 'blur' }],
  134. // wubi: [{ required: true, message: '请填写五笔' , trigger: 'blur' }],
  135. price: [{ required: true, message: '请填写价格', trigger: 'change' }],
  136. team_type: [{ required:true,message:'请填写组套类型',trigger:'change' }]
  137. },
  138. tableData:[],
  139. projectList:[],
  140. tabList:[],
  141. }
  142. },
  143. methods:{
  144. getDataConfig(module, filed_name){
  145. return getDataConfig(module, filed_name)
  146. },
  147. getDictionaryDataConfig(module, filed_name) {
  148. return getDictionaryDataConfig(module, filed_name)
  149. },
  150. _close: function(done) {
  151. done()
  152. },
  153. clear: function() {
  154. this.form.id = 0;
  155. this.form.name = "";
  156. this.form.intro = "";
  157. },
  158. show(id) {
  159. this.visible = true
  160. this.formTitle = '新增'
  161. },
  162. hide() {
  163. this.visible = false
  164. },
  165. submitAction(formName){
  166. this.$refs[formName].validate((valid)=>{
  167. var arr = []
  168. for(let i=0;i<this.tableData.length;i++){
  169. arr.push(this.tableData[i].id)
  170. }
  171. console.log("arr",arr)
  172. var ids = arr.join(",")
  173. var params = {
  174. project_team:this.form.project_team,
  175. price:this.form.price,
  176. pinyin:this.form.pinyin,
  177. wubi:this.form.wubi,
  178. tube_color:this.form.tube_color,
  179. team_type:this.form.team_type,
  180. remark:this.form.remark,
  181. ids:ids,
  182. }
  183. console.log("params",params)
  184. saveProjectTeam(params).then(response=>{
  185. if(response.data.state == 1){
  186. var projectTeam = response.data.data.projectTeam
  187. console.log("projectTeam",projectTeam)
  188. this.$message.success("保存成功")
  189. this.visible = false
  190. this.form.project_team = "",
  191. this.form.price = "",
  192. this.form.pinyin = "",
  193. this.form.wubi = "",
  194. this.form.tube_color = "",
  195. this.form.team_type = "",
  196. this.form.remark = ""
  197. this.tableData = []
  198. this.form.number = ""
  199. this.$parent.getlist()
  200. }else{
  201. this.$message.error("项目组套名称已存在!")
  202. }
  203. })
  204. })
  205. },
  206. getlist(){
  207. getAllProjectList().then(response=>{
  208. if(response.data.state == 1){
  209. var projectList = response.data.data.projectList
  210. console.log('projectlist33333',projectList)
  211. this.projectList = projectList
  212. // var hisprojectlist = response.data.data.hisprojectlist
  213. // console.log("hisprojectlist",hisprojectlist)
  214. // this.tableData = hisprojectlist
  215. }
  216. })
  217. },
  218. getId(id){
  219. var name = ""
  220. var statistics_category = getDictionaryDataConfig('system','statistics_category')
  221. console.log("2235",statistics_category)
  222. for(let i=0;i<statistics_category.length;i++){
  223. if(id == statistics_category[i].id){
  224. name = statistics_category[i].name
  225. }
  226. }
  227. return name
  228. },
  229. chagneInspection(id){
  230. getProjectDetail(id).then(response=>{
  231. if(response.data.state == 1){
  232. var projectdetail = response.data.data.projecDetail
  233. console.log("projectdetail",projectdetail)
  234. this.tableData.push(projectdetail)
  235. }
  236. })
  237. },
  238. addProjectList(){
  239. for(let i=0;i<this.projectList.length;i++){
  240. if(this.form.project_detail == this.projectList[i].id){
  241. this.projectList[i].number = this.form.number
  242. this.tableData.push(this.projectList[i])
  243. }
  244. }
  245. console.log("33333",this.tableData)
  246. const params = {
  247. id:this.form.project_detail,
  248. number:parseInt(this.form.number)
  249. }
  250. console.log("params",params)
  251. addProjectList(params).then(response=>{
  252. if(response.data.state == 1){
  253. var projectList = response.data.data.projectList
  254. this.$message.success("保存成功")
  255. this.form.project_detail = ""
  256. this.form.number = ""
  257. // this.getlist()
  258. }
  259. })
  260. },
  261. DeleteProject(id,index){
  262. this.$confirm("确认删除此项目吗?", "删除", {
  263. confirmButtonText: "确 定",
  264. cancelButtonText: "取 消",
  265. type: "warning"
  266. }).then(() => {
  267. DeleteProject(id).then(response => {
  268. if (response.data.state == 1) {
  269. this.tableData.splice(index, 1);
  270. } else {
  271. }
  272. });
  273. })
  274. .catch(() => {});
  275. }
  276. },
  277. created(){
  278. //获取所以的项目
  279. this.getlist()
  280. }
  281. }
  282. </script>