145 lines
5.6 KiB
PHP
145 lines
5.6 KiB
PHP
<form method="post" action="<?php echo url(); ?>" id="conditionform" name="conditionform">
|
|
|
|
<?php
|
|
if (sizeof($steps)):
|
|
foreach ($steps as $step):
|
|
?>
|
|
<div class="panel">
|
|
<table id="Condition<?php echo $step->id; ?>Ctrl" class="table table-form table-condensed table-hover">
|
|
<thead>
|
|
<tr>
|
|
<th colspan="7" align="left">转入: <?php echo $step->name; ?></th>
|
|
</tr>
|
|
<tr>
|
|
<th align="center">左括号</th>
|
|
<th align="center">字段</th>
|
|
<th align="center">条件</th>
|
|
<th>值</th>
|
|
<th>函数</th>
|
|
<th align="center">右括号</th>
|
|
<th align="center">逻辑</th>
|
|
<th align="center">
|
|
<a @click="create();" class="btn btn-xs btn-default"><i class="icon icon-plus"></i></a>
|
|
</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr v-for="(item,index) in items">
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][l]'" v-model="item.l" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<option value="(">(</option>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][f]'" v-model="item.f" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<?php
|
|
foreach ($columns as $table => $column):
|
|
foreach ($column['data'] as $field):
|
|
?>
|
|
<?php if ($field['auto'] == 1): ?>
|
|
<option value="<?php echo $field['field']; ?>"><?php echo $field['name']; ?></option>
|
|
<?php else: ?>
|
|
<option value="<?php echo $table; ?>.<?php echo $field['field']; ?>">
|
|
<?php if ($column['master'] == 0): ?>[<?php echo $column['name']; ?>]<?php endif; ?>
|
|
<?php echo $field['name']; ?>
|
|
</option>
|
|
<?php endif; ?>
|
|
<?php
|
|
endforeach;
|
|
endforeach;
|
|
?>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][c]'" v-model="item.c" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<option value="==">等于</option>
|
|
<option value="<>">不等于</option>
|
|
<option value=">">大于</option>
|
|
<option value="<">小于</option>
|
|
<option value=">=">大于等于</option>
|
|
<option value="<=">小于等于</option>
|
|
<!--
|
|
<option value="like">包含</option>
|
|
<option value="not like">不包含</option>
|
|
-->
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<input :name="'condition[<?php echo $step->id; ?>]['+index+'][v]'" v-model="item.v" class="input-sm form-control">
|
|
</td>
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][t]'" v-model="item.t" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<option value="sum">SUM(合计)</option>
|
|
<option value="count">COUNT(行数)</option>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][r]'" v-model="item.r" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<option value=")">)</option>
|
|
</select>
|
|
</td>
|
|
<td>
|
|
<select :name="'condition[<?php echo $step->id; ?>]['+index+'][i]'" v-model="item.i" class="input-sm form-control">
|
|
<option value=""></option>
|
|
<option value="and">and</option>
|
|
<option value="or">or</option>
|
|
</select>
|
|
</td>
|
|
<td align="center">
|
|
<a @click="remove(index);" data-condition="delete" class="btn btn-xs btn-default"><i class="icon icon-trash"></i></a>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<?php
|
|
endforeach;
|
|
endif;
|
|
?>
|
|
|
|
<script type="text/javascript">
|
|
<?php foreach ($steps as $step): ?>
|
|
var conditionCtrl = {
|
|
data() {
|
|
return {
|
|
items: <?php echo json_encode((array)$condition[$step->id]); ?>
|
|
}
|
|
},
|
|
methods: {
|
|
create: function() {
|
|
var item = {};
|
|
this.items.push(item);
|
|
},
|
|
remove: function(index) {
|
|
this.items.splice(index, 1);
|
|
}
|
|
}
|
|
};
|
|
Vue.createApp(conditionCtrl).mount('#Condition<?php echo $step->id; ?>Ctrl');
|
|
|
|
<?php endforeach; ?>
|
|
$('#myform').submit(function () {
|
|
var url = $(this).attr('action');
|
|
var data = $(this).serialize();
|
|
$.post(url, data, function (res) {
|
|
if (res.status) {
|
|
toastrSuccess(res.data);
|
|
} else {
|
|
toastrError(res.data);
|
|
}
|
|
}, 'json');
|
|
return false;
|
|
});
|
|
</script>
|
|
|
|
<input type="hidden" name="id" value="<?php echo $row->id; ?>">
|
|
<input type="hidden" name="model_id" value="<?php echo $model->id; ?>">
|
|
|
|
</form>
|
|
|
|
</div>
|